C#
文章平均质量分 61
cgsthtm
男儿事长征,少小幽燕客!
展开
-
C# 使用FastReport.NET打印报表
文章目录一、设计报告单1.给报告单添加数据源Data Source1.1 代码中注册数据源1.2 报告单中选择数据源2.设置数据区域的单元格自动高度打印报告单代码示例FastReport.NET官方下载地址:https://www.fast-report.com/en/download/fast-report-net/要打印的报告单格式如下:一、设计报告单安装完FastReport.NET后,就可以设计报告单,要设计的报告单格式如下:1.给报告单添加数据源Data Source1.1 代码中注原创 2022-07-10 09:17:34 · 7661 阅读 · 4 评论 -
C# EPPlus按照Excel模板导出Excel文件
甲方给的Excel模板如下:我们导出的Excel内容如下:代码中有详细的注释,如下:/// <summary>/// 导出按钮点击事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnExport_Click(object sender, EventArgs e){ ExcelPac原创 2022-06-10 18:10:41 · 1709 阅读 · 0 评论 -
C# EPPlus根据Excel模板读取与保存数据
文章目录一、读取Excel中的数据到DataTable二、将数据保存到ExcelEPPlus官方文档:https://www.epplussoftware.com/zh/DevelopersExcel模板格式如下:一、读取Excel中的数据到DataTable// 需要引用的命名空间using OfficeOpenXml;using LicenseContext = OfficeOpenXml.LicenseContext;using System.Data;/// <summar原创 2022-05-14 10:46:57 · 1369 阅读 · 0 评论 -
解决webbrowser控件修改select下拉框值后点击提交提示值为空问题
文章目录问题背景解决办法一些技巧问题背景winform程序使用webbrowser控件加载一个网页,需要获取该网页指定元素,并修改元素的值。主要用于将外部数据自动写入该页面的Form表单中,实现自动化录入的功能,省去繁琐的手工录入步骤。该网页使用knockout.js实现表单元素的双向绑定,并且有些input表单点击时会弹出封装的select下拉框组件,如下:其中遇到最主要的问题有:如何实现给上述的燃料种类表单赋值如何解决给表单赋值后,点击提交提示表单值为空的问题解决办法使用 I原创 2021-10-22 17:18:04 · 892 阅读 · 0 评论 -
C#如何使用HttpListener监听POST请求并解析Body中的参数
文章目录1.问题描述2.使用HttpListener监听3.下载例程1.问题描述做一个二维码摆渡机的发送端和接收端程序,用于网络物理隔离。摆渡机是第三方厂家的设备,该设备提供一个接口用于接收发送端传输的数据,摆渡机处理该数据并调用接收端的接口,将数据传递给接收端。本文主要记录接收端程序如何使用 HttpListener 进行监听HTTP请求,并且解析POST请求中携带的参数。如何构造 content-type 为 multipart/form-data; boundary= 的POST请求,请参考原创 2021-10-14 17:21:44 · 6363 阅读 · 1 评论 -
C# 事实证明学好数学对编程来讲是多么重要
文章目录背景协议补充说明如何用代码求解尝试穷举寻找规律经人指点得到良方背景做上位机开发时,上位机和下位机如何进行通讯,一般取决于下位机。有这样一个通信协议:当上位机给下位机发送 19 02 01 时,代表读故障码当下位机响应 59 02 01 DD 时,代表肯定响应,其中 DD 代表故障码故障码用4个字节表示每一帧数据为8个字节当无故障码或仅有一个故障码时,一个数据帧8个字节就够了当无故障码或仅有一个故障码时,第一个字节代表有效字节数据长度例如:03 59 02 01 FF FF FF原创 2021-09-17 23:19:26 · 1266 阅读 · 3 评论 -
C#使用EPPlus获取excel单元格内容调用百度翻译API将结果存入SQLite数据库
文章目录需求分析原型设计nuget安装依赖包关键代码实现EPPlus获取单元格内容访问SQLite数据库WinForm跨线程访问控件需求分析有这样一个需求,将Excel文件中指定的行和列的内容,翻译成中文,并将翻译的结果存入SQLite数据库的内部代码表中。操作的步骤是:打开Excel找到需要翻译的单元格内容,并将其复制打开浏览器访问百度翻译,粘贴进行翻译将翻译的内容粘贴到添加内部代码界面进行添加手工操作的话,一个Excel中需要复制粘贴 237 * 6 = 1422 次,有4个Excel原创 2021-09-15 20:30:14 · 988 阅读 · 1 评论 -
C#使用SQLite查询时间段内数据
SQLite 数据类型与C#数据类型对应表,转自:https://www.cnblogs.com/swtool/p/8202965.html,备用问题:Debug 调试时确认 SQLiteParameter 中有参数 @CalDate1 和 @CalDate2 ,SQL语句如下:select VIN,CalTimes,CarModel,ADasModel,CalDate,EvlRadar,EvlCamer,bys1,bys2,byint1,byint2,byfloat from ADASExamine原创 2021-09-10 16:03:23 · 2641 阅读 · 0 评论 -
C#多项目使用EF访问Sqlite数据库,解决报错Unable to determine the DbProviderFactory type for connection of type ‘Syst
https://editor.csdn.net/md/?not_checkout=1原创 2021-09-10 13:31:49 · 1788 阅读 · 0 评论 -
使用dnspy调试生产环境C#程序代码
dnspy下载地址:https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8将需要调试的程序拖拽到左侧Assembly Explorer面板中,点击Start,选择Executable可执行程序,点击OK从需要调试的地方,打上断点,如下:原创 2021-08-26 12:51:04 · 901 阅读 · 0 评论 -
如何下载和使用MOXA的PComm Lite串口编程动态库
1.MOXA的PComm LiteMoxa是经营工业串口卡、串口服务器之类设备的公司,PComm Lite是一套易用性、可靠性久经考验串口编程开发包。相比用API或mscomm控件开发,使用PComm Lite则简单太多了。使用方法:运行安装后有类库、例程、帮助和几个小工具。关键的有四个文件:pcomm.h/pcomm.lib两个文件复制到项目目录并引用,pcomm.dll丢到windows\system32下或跟应用程序放在一起,pcomm.chm帮助备查。函数介绍:整个库包含50多个函数,最常原创 2021-08-11 16:31:25 · 4654 阅读 · 3 评论 -
C#设置字节某一bit位的值(设置成0或1)
//一个字节byte有8个bit位,如:10制的255 = 16进制的0xFF = 8进制的0b_1111_1111byte a = 0xFF; //0b_1111_1111 或 255/// <summary>/// 设置该字节的某一位的值(将该位设置成0或1)/// </summary>/// <param name="data">要设置的字节byte</param>/// <param name="index">要设置的位, 值原创 2021-07-20 13:45:59 · 7007 阅读 · 0 评论 -
C#关于进制转换以及Byte字节操作
C#中Byte字节的概念 C#中用关键字byte表示字节,用byte[]表示字节数组,例如:byte[] a = new byte[2];,就相当于创建了一个具有2个字节长度的字节数组,用变量a表示。 在C#中使用BitConverter,GetBytes()方法将int、float、double、char、bool等类型转换成字节数组,如下:byte[] ba = new byte[2];//创建长度为两个字节的字节数组ba[0] = 0x62;//低位字节ba[1] = 0x11;原创 2021-07-20 13:43:00 · 10156 阅读 · 0 评论 -
C#异步编程ConfigureAwait的使用
异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应用,利用线程池实现了可扩展性异步编程的两个关键字:async和await。需要注意:如果async方法有返回值,应返回Task<T>;如果没有返回值,应返回Task。严重警告:不要用void作为async方法的返回类型!async方法可以返回void,但这仅限于编写事件处理程序。一个普通的async方法如果没有返回值,要返回Task,而不是void。有了上述背景知识,我们来快速看一个原创 2021-05-15 10:24:03 · 2628 阅读 · 0 评论 -
webapi接收动态json数据进行解析(解决反序列化需要固定实体类问题)
问题描述:前端post的json数据是动态的,可能是这样:{ “HPHM”:"冀A12345", "HPZL":"02-小型汽车", "BSX":"01-自动"}也可能是这样:{ “HPHM”:"冀A12345", "HPZL":"02-小型汽车", "BSX":"01-自动", "CPYS":"01-白色"}controller的action需要接收json数据动态解析,将数据插入数据库Table(Table也是动态扩展的)代码://using Syste原创 2021-03-24 17:03:01 · 1490 阅读 · 0 评论 -
C# 使用 selenium 操作dom元素以及下载资源文件
文章目录准备工作代码示例准备工作使用vs2019编写的c# winform应用程序,.net framework 4.7 框架,引用了selenium和hzh_control动态库,前者用于模拟浏览器操作,后者用于UI。使用selenium前的准备:查看自己的edge浏览器版本,如下:下载edge浏览器对应版本的WebDriver,网址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downlo原创 2021-02-23 13:36:11 · 704 阅读 · 0 评论 -
winfrom如何通过程序界面配置config文件
文章目录WinForm如何通过程序界面配置config文件1.参数众多的config文件示例2.参数要按功能类型分组分类3.使用程序界面配置config文件WinForm如何通过程序界面配置config文件我们开发一个WinForm程序可能需要配置很多参数,如果不把参数提取到图形界面而是在config文件中进行配置,对开发者而言可能没有什么不方便,但当用户自己使用的时候就很不友好了。接下来,我给大家介绍一种解决这个问题方法。1.参数众多的config文件示例即使当你写了用户手册告诉用户如何配置con原创 2021-02-22 09:31:55 · 725 阅读 · 0 评论 -
C#使用WebClient下载文件
using System.Net;WebClient client = new WebClient();foreach (var item in list){ client.DownloadFile(item.Href, targetDirectory + item.Title + ".mp4"); item.State = "√";}原创 2021-02-18 23:20:47 · 529 阅读 · 0 评论 -
C# 变体泛型接口和委托中的逆变与协变
C#中的协变和逆变在C#中,协变和逆变能够实现数组类型、委托类型和泛型类型参数的隐式引用转换。协变保留分配兼容性,逆变则与之相反。以下代码演示分配兼容性、协变和逆变之间的差异。// 分配兼容性string str = "test"; // 较大的派生类型的对象,分配给派生类型较小的对象object obj = str; // 协变IEnumerable<string> strings = new List<string>(); // 将一个较大派生类型的实原创 2021-01-02 17:11:50 · 277 阅读 · 0 评论 -
C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误
文章目录1.开发环境2.我的代码3.问题描述4.问题分析5.问题根源6.解决办法记一次使用微信JS-SDK分享接口,config接口注入权限验证失败,提示invalid signature签名错误问题的解决办法。1.开发环境编程环境:Microsoft Visual Studio Enterprise 2019 Version 16.8.0盛派 Senparc.Weixin —— 微信 .NET SDKTarget framework .Net Framework 4.5WebForm与As原创 2020-12-02 17:58:18 · 961 阅读 · 0 评论 -
asp.net webform使用ajax调用后台方法带参数
前台代码:$(".tab").click(function () { $.ajax({ type: "POST", url: "DefaultWeb.aspx/ShowList",//调用方法 data: "{ 'stationno': '0' }",//传递参数 contentType: "application/json; charset=utf-8", dataType: "text",//返回类型 success: fun原创 2020-09-15 11:23:37 · 798 阅读 · 0 评论 -
当遇到“无法启动 IIS Express Web 服务器。”时的解决方案
转载自:https://www.cnblogs.com/xwgli/p/13139302.htmlMicrosoft Visual Studio无法启动 IIS Express Web 服务器。来自 IIS Express 的输出:Failed to register URL “http://localhost:24924/” for site “XWG.WEB” application “/”. Error description: 另一个程序正在使用此文件,进程无法访问。 (0x80070020翻译 2020-09-02 14:38:46 · 3670 阅读 · 0 评论 -
c# webservice配置log4net打印日志
参考:https://cylycgs.blog.csdn.net/article/details/106243237需要在webservice项目中添加Global.asax文件,修改Application_Start方法配置log4net,内容如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Security;using System.Web原创 2020-08-14 13:53:34 · 1367 阅读 · 0 评论 -
c# 同一个解决方案中如何调试寄宿在控制台程序的wcf服务
文章目录1.项目结构背景介绍2.配置wcf服务于寄宿程序3.断点F11单步调试1.项目结构背景介绍注意我这里是同一个解决方案中!!同一个解决方案中!!新建wcf服务项目LookPictureService,新建控制台项目用于寄宿wcf服务TestLookPictureService,新建控制台项目TestLookPictureService1作为客户端测试wcf服务,如下:项目名称功能解释LookPictureServicewcf服务项目TestLookPictureSe原创 2020-05-21 19:19:26 · 488 阅读 · 0 评论 -
c# wcf客户端调用服务端的接口提示错误:413 request entity too large
文章目录1.配置wcf服务的App.config文件2.给指定终结点增加绑定配置3.修改控制台寄宿程序的绑定4.重新生成项目测试1.配置wcf服务的App.config文件在system.serviceModel节点增加bindings,如下:<bindings> <basicHttpBinding> <binding name="LargeDataTransferServicesBinding" maxReceivedMessageSize=原创 2020-05-20 20:37:03 · 918 阅读 · 0 评论 -
c# wcf中配置log4net.config使用log4net打印日志
文章目录1.项目中引用log4net.dll2.根目录中配置log4net.config3.AssemblyInfo程序集配置log4net4.重写ServiceHostFactory与ServiceHost5.使用代码配置控制台寄宿程序6.根据log4net.config的配置查看日志1.项目中引用log4net.dllwcf项目中首先引用log4net.dll动态库,如下图:2.根目录中配置log4net.config在wcf项目的根目录下放置log4net.config配置文件,我这里并将其原创 2020-05-20 20:17:46 · 1401 阅读 · 0 评论 -
c# winform webbrowser获取不到cookie 为空值
1.问题描述使用WebBrowser控件加载一个别人的网站,输入用户名密码登录成功以后,可以操作网站的增删改查等一些操作,证明Cookie是存在的,并且通过Fiddler抓包也可以看到Cookie。但当我使用webBrowser1.Document.Cookie时却获取不到Cookie,是空值,这是为什么呢?这是由于HttpOnly属性导致客户端无法读取到Cookie!2.解决办法使用下列FullWebBrowserCookie.GetCookieInternal(new Uri(url)); 方法获转载 2020-05-14 11:59:53 · 1007 阅读 · 0 评论 -
c#设置webbrowser控件为ie8模式
修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION在其中新增一个DWORD值。键值名称写入你的程序名,然后在数值数据填入1f40。也就是IE8————————————————版权声明:本文为CSDN博主「HaoYuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.c转载 2020-05-13 11:13:12 · 502 阅读 · 0 评论 -
使用免费的Inno Setup制作Winform安装包
1. 先展示几张效果图:2. 下载免费的Inno Setup程序https://jrsoftware.org/isdl.php3. Inno Setup程序入门Inno Setup的安装目录下面有很多demo,供我们参考4. 我的Inno Setup打包实例; -- Example1.iss --; Demonstrates copying 3 files and c...原创 2020-04-27 09:52:40 · 699 阅读 · 0 评论 -
c#中winform内嵌webbrowser控件基本使用
//WebBrowser控件禁用脚本错误webBrowser1.ScriptErrorsSuppressed = true;//加载网页webBrowser1.Url = new Uri(“https://www.csdn.net/”);//网页加载完毕事件webBrowser1.DocumentCompleted += new WebBrowserDocumentCompleted...原创 2020-04-02 15:10:46 · 1768 阅读 · 0 评论 -
C# Unity容器的基本使用(Unity v5.5.0)
文章目录1、通过编码方式使用Unity容器的步骤1.准备基础业务类2.添加Unity容器的引用3.给基础业务添加具体的注入类4.将当前的扩展类包装为特性类5.给接口增加特性类6.使用Unity容器2、通过配置文件使用Unity容器1.添加两个独立的引用(dll文件)2.添加业务接口和实现3.修改配置文件进行配置4.使用Unity容器加载配置文件1、通过编码方式使用Unity容器的步骤1.准备基...原创 2020-01-07 17:33:45 · 1910 阅读 · 0 评论 -
vs2017 debug iisexpress process with an id xxxx of is not running
别人的MVC5项目拷贝到我这里,debug调试的时候提示“process with anid of xxxx is not running”,iispress启动不起来。他的项目是vs2019编写的,我用的vs2107。我的解决办法:删除项目目录中的“.vs”文件夹修改项目的“.csproj”文件,删除节点如下图:重启vs(其实只需要修改.csproj文件就可以了把)...原创 2020-01-07 15:22:15 · 1180 阅读 · 0 评论 -
log4net用法
https://www.cnblogs.com/lsgsanxiao/p/5845300.html转载 2019-12-28 16:22:16 · 183 阅读 · 0 评论 -
.NET使用SimpleUpdater实现WinForm自动升级
这里写自定义目录标题1、使用NuGet安装SimpleUpdater2、设置项目版本Assembly Version3、客户端使用SimpleUpdater4、测试自动升级4.1 创建测试环境目录结构4.2 IIS创建网站(为测试升级做准备)4.3 使用升级包创建工具-BY iFish1、使用NuGet安装SimpleUpdater我使用的是Visual Studio 2017,右键引用,管理...原创 2019-12-28 16:17:17 · 2647 阅读 · 0 评论 -
C#随机生成指定范围内的decimal
请防止你的狗友恶意远程给你关机!!ps:等我学有所成第一个入侵你家摄像机(手动阴险)using System;namespace ConsoleApp2{ class Program { static void Main(string[] args) { while (true) { ...原创 2019-11-26 18:20:43 · 1121 阅读 · 0 评论 -
C#设计泛型类善用where关键字
如何设计泛型类原则上,泛型类只有在类型参数只有一个时才能使用T,否则都要给类型参数清楚的命名,以提升程序的可读性例如,有一个供类实现排序功能的接口ISortable,如下:public interface ISortable{ void Sort(); void SortDesc();}有一个工具类SortUtil,能调用ISortable的Sort()或SortDesc()...原创 2019-11-17 10:55:37 · 476 阅读 · 0 评论 -
webservice编译器失败,错误代码为 -2146232576
原文:https://blog.csdn.net/Abel_01_xu/article/details/88187906解决方法:打开解决方案NuGet包管理器,卸载一个叫“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”的包,之后重新编译网站,发现Bin目录下没有roslyn文件夹了!...转载 2019-08-14 22:45:56 · 487 阅读 · 0 评论 -
C#获取设置海康SDK本地参数(SDKLocalCfg)
参考海康设备网络SDK文档关于获取、设置SDK本地参数,如下:代码实现中涉及参数类型转换、定义枚举与结构体、引用结构,如下:在这里插入代码片...原创 2019-08-17 11:08:48 · 2847 阅读 · 1 评论 -
C# WinForm获取管理员权限
转自:https://blog.csdn.net/u014597198/article/details/766149371、 在Visual Studio 中–解决方案资源管理器–右键项目名称–属性,找到“安全性”选项,2、勾选“启用ClickOnce安全设置”,3、这时,在项目下面会多出一个“app.manifest”的文件,选中它,并找到代码段,将其改为:4、改正后,不要急于重新...转载 2019-08-30 08:46:17 · 1342 阅读 · 0 评论 -
(个人向)C# winForm程序启动时报错:应用程序无法正常启动(0xc000007b)
1.我的开发环境:windows 10 64bit、visual studio 2017,在本机上运行没有问题,但是在别人电脑上运行报错"应用程序无法正常启动(0xc000007b)"2.要运行改程序的操作系统有windows xp、windows 7 32bit和windows 7 64bit,由于windows xp安装不了.net framework 4.5及以上版本,所以我在编译程序的时...原创 2019-08-30 19:30:39 · 4676 阅读 · 1 评论