自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 考虑效率用定时器还是用异步延时

1、有这么一个需求,我需要每隔10秒钟处理一件事情,比较耗时,可能会处理两三秒。最开始,我是使用的定时器,定时10秒处理一次。这就出现了一个问题,定时一次运行,运行两三秒之后结束,然后只过了六七秒,又再次启动了(定时器固定间隔10秒)这还算简单的,还有一种可能,定时处理的代码,处理不止两三秒,甚至10秒都处理不完,定时器会再次启动,这时候运行了两个一样的逻辑,这个还不能用加锁处理,不然上一次代码运行完,锁一解开马上运行下一次,太坑。。。后来我换了个想法,用异步:async void Loop()

2020-08-26 15:25:45 568 1

原创 Async在虚方法怎么用?

public async virtual Task WaitDone() { var task = Task.Run(() => { Thread.Sleep(1000); }); await task; }TypeB继承TypeA重写方法WaitDonepublic override async Task WaitDone()...

2020-08-23 11:18:18 475

原创 一万条数据要导出EXCEL太慢了10分钟左右

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using ICSharpCode;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System.Data;using System.Reflection;using Syste

2020-06-23 15:54:36 4234

原创 初学linq.ToList()和AsEnumerable()一些疑问

本人初学linq,有个地方不明白,.ToList()和AsEnumerable(),按照文档上来说.ToList是直接执 行,AsEnumerable是延迟执行,其实没任何意义,只有要使用结果集的时候才会查询数据库,如果不需要使用结果集,并且要延迟的i情况下可以使用 AsEnumerable,我有个疑问,一般查询不是都要用到结果集么,那么AsEnumerable的使用场景是不是很少呢,能不能举例几个 AsEnumerable的使用场景,可以让我更加的形象了解AsEnumerable具体适合哪些地方用..

2020-06-23 15:51:20 713

原创 在C#中调用C++ dll中函数接口,传一个结构体过去,结构体中char*的位置,会导致传参的结果发生变化,不知道为什么

在C#中调用C++dll中函数接口,传一个结构体过去,结构体中char*的位置,会导致传参的结果发生变化,不知道为什么C#端:[DllImport("Dll_Test.dll", EntryPoint = "Interface_Sub", CallingConvention = CallingConvention.Cdecl)] public extern static int Interface_Sub(ref Sub sub); [StructLayout(Lay...

2020-05-13 16:18:00 383

原创 局域网内 两个C# winform程序之间的通讯,应该怎样实现?

局域网内两个C#winform程序之间的通讯,应该怎样实现? (需要通讯的数据量很少,几十个变量的值而已) 。搜索了一下, 有说是用WCF技术, 搜索到如下文章: ---------------          C#动态调用WCF接口,两种方式任你选。1、利用IIS部署WCF服务,也就是大家接触到的发布SVC文件。2、动态调用WCF接口-----------------因为我也没有了解过这个WCF, 也不知道实践起来难不难, 最怕是搞错方法。搜索了解到WCF它可以使用很多通讯协议。局域网内..

2020-05-13 16:13:20 1592

原创 C#dataGridView控件如何在当前环境中使用Contains包含来判断特定字符?

指定列名是"员工状态",当表中该列值对应存在"离职"字符时,设置行底色想问一下,如何在当前环境中使用Contains包含来判断特定字符?求解答,谢谢!foreach (DataGridViewRow r in dataGridView1.Rows) { if ((string)(r.Cells["员工状态"].Value) == "5...

2020-04-17 14:47:39 914

原创 C#由数据绘制灰度图失真使用索引方式绘制的灰度图和原来的图像相比有些失真

读取一个灰度数据.csv文件(384*288个点)使用索引方式绘制的灰度图和原来的图像相比有些失真,比如对比度上,该如何解决?修改步长step的值倒是能够整体改变,但是对比度却没有变化private unsafe void SetData(IntPtr ptr, float step, string line) { var p = (byte*)ptr;...

2020-04-17 11:17:05 282

原创 c# winfom 定时器问题发现偶尔会出现定时器触发不了的问题,无法进入到定时器的timer_tick里

我用c#做了一个winform程序,在主窗体中,有个system.windows.forms.timer定时器,现在碰到一个问题,发现偶尔会出现 定时器触发不了的问题,无法进入到定时器的timer_tick里,如果用鼠标点击一下主窗体或者将主窗体在最大和最小化之间切换后,定时器又自动恢复 了。请高手帮忙分析一下!我也遇到过,不知道什么问题。后来全换成线程就好了最近也遇到麻烦,打印机老是提示...

2020-04-16 10:30:56 3570

原创 C#串口数据收发接收数据,单条收发的话没问题,但是如果是发送多条数据的话,只会接收到一条数据

我用的是comPort.DataReceived+=newSerialDataReceivedEventHandler(comPort_DataReceived);接收数据,单条收发的话没问题,但是如果是发送多条数据的话,只会接收到一条数据。privatevoidcomPort_DataReceived(Objectsender,SerialDataReceivedEventAr...

2020-04-16 10:25:08 1459

原创 c#写服务程序怎么判断文件夹内子文件夹里文件的变化

c#写服务程序怎么判断文件夹内子文件夹里文件的变化?搜素C#FileSystemWatcherFileSystemWatcher只能监测文件夹下修改,无法监测文件夹下面文件夹内的修改。请帮忙FileSystemWatcherIncludeSubdirectories设置是否级联监视指定路径中的子目录FileSystemWatcher控件主要功能:监控指定文件或目录的文件的创...

2020-04-13 10:58:29 319

原创 如何解决Winfrom加载程序未能加载文件或程序集,抛出异常,

源码如下:DataTabledt=newDataTable("dt1");dt.Columns.Add("C1",typeof(bool));dt.Columns.Add("C2",typeof(int));dt.Columns.Add("C3",typeof(string));...

2020-04-13 10:52:24 1531 1

原创 对于网络超时C/S架构的应用如何处理才好?

目前在维护一个C/S应用,三层架构,对于网络稍微不好的地方,总是报错,后面加了重试机制,就是获取数据失败后会自动再获取,重试3次,这样改后,错误是减少了,但是各个操作却变慢了,这如何是好?目前暂时还不考虑存本地,然后再上传到服务器这种方案(基于业务原因)请问下还有其他方案吗?PS:中间件部署在客户当地时,和增加重试机制的效果类似,因为数据库仍旧在公司总部,客户访问到中间件服务器...

2020-04-10 12:00:45 249

原创 如何继承类的容器传入方法参数

先贴一段代码 private void button1_Click(object sender, EventArgs e) { List<A> list = new List<A>(); list.Add(new A(2)); a(list); } ...

2020-04-10 11:56:35 535

原创 C#才用什么方法从服务器下载图片文件

本人在做毕业设计,老师要求一名同学搞一个服务器将图片存入。我的任务是要从它的服务器中接收图片。下图是同学告诉我的远程桌面连接后的样子,图片被保存 在了桌面上的4G文件夹中。请问大佬们,该如何使用C#winform将这个名为“4G”的文件夹下载到我的电脑上!网上查的从服务器下载文件的程序,中 的“想要下载的文件路径”不知道应该怎样填写!URL是123.57.142.3。还望明白的大佬不吝赐教!关...

2020-04-09 11:10:37 651

原创 asp.net webform 控件两种方式,那个效率高

TextBox.Focus()ScriptManager.RegisterClientScriptBlock(this,this.GetType(),DateTime.Now.ToString(),"$('#"+TextBox.ClientID+"').focus();",true);哪个效率更高。两者各自在用法上有啥优势与区别。都用asp...

2020-04-08 15:23:47 172

原创 我在form中创建了个计时器timer,C#怎样处理form界面卡死问题

我在form中创建了个计时器timer,timer时间中调用处理方法Run(),实现定时任务,同时定时任务在执行过程中会刷新状态栏数据,但是每次执行过程中form就是卡死,结果状态栏每次看到都是最后一次的刷新的情况?请问要怎么解决?Run的代码就是普通函数,读取文件,因为文件比较多耗时长这个提供了backgroundworker控件来实现你需求的,timer控件和界面同一个线程跑,大任...

2020-04-05 16:02:02 6191

原创 C#虚方法应用

定义一个person(人)类,再定义多个职业的类,如警察、医生、教师等等都继承与person类。要求用虚方法的方式实现,person类中working这个方法的多态。比如,警察执行working时输出“我在抓小偷”等等。请各位大神,这个怎么搞,对于这个还处于迷迷糊糊的。class Program { static void Main(string[] args)...

2020-04-04 11:37:30 158

原创 应该如何理解BitConverter.GetBytes(byte)

byte a = 0;byte[] arr = BitConverter.GetBytes(a);应该如何理解BitConverter.GetBytes(byte)这种代码应该如何理解?把1个字节变为2个字节到底有什么用?你应先了解基础数据类型是如何使用二进制表示的。应该是我没表达明白,实际上GetBytes没有一个byte参数的重载,而是将byte转成了int16,但为什么要传...

2020-04-04 11:34:17 3341

原创 USB HID通讯问题在学习板上可以正常收发数据 , 但转到开发板上发送的数据可以正常发送

在学习板上可以正常收发数据,但转到开发板上发送的数据可以正常发送,但是开发板接收不到,开发板和调试助手可以正常调试的,不知道有没有大神遇到这种问题? buffer = new byte[outputReportLength]; buffer[0] = r.reportID; ...

2020-04-03 11:52:41 266 1

原创 使用CefSharp内核, 该怎么获得当前页的URL

C#自带的webBrowser可以直接用webBrowser.Url获得当前页的URL但是使用CefSharp内核,该怎么获得当前页的URL这是WPF的,没用,我自己找到方法了我找到办法了,虽然是去年的问题,但是回答一下,想来还是有后来者用得上的。Cefsharp67版本//新建一个web对象var web = ChromiumWebBrowser(url);设置事件:we...

2020-04-03 11:48:17 1731

原创 怎么实现c#winform在1分钟内若无任何操作就弹出操作超时

怎么实现c#winform在1分钟内若无任何操作就弹出操作超时系统是自助机系统,不知道用钩子能不能监控到屏幕点击事件?添加一个mousemove和keydown共同改变的一个变量,这两个事件一发生时便将这个变量重置。比如intx=0,添加个timer不停 x++,设置其interval=1000,然后mousemove和keydown一触发便使x=0;当x=60的时候弹出窗口就好。...

2020-04-02 10:29:21 1662

原创 winform sql版本问题

在C#winform中如何才能做到在给客户安装软件时自动覆盖上一个版本的数据库SQL例子:原数据库有个学生表(Student)内有三个字段分别为ID、Name、Age;现又新增一个Sex;也就是说现有的表内有ID、Name、Age、Sex;其实你这个不叫sql问题,应该叫版本问题。你以前没有做好版本管理,现在要做好版本管理才行。在数据库中增加一个版本表:CREATE...

2020-04-02 10:26:25 89

原创 c#如何桌面发送按键或都字符

IntPtr hWndParent = (IntPtr)FindWindowEx(0, 0, "WorkerW", null); IntPtr hWndItem; IntPtr hWnd; while (true) { hWndItem = (IntPtr)FindWi...

2020-04-01 15:09:34 476

原创 http报500.net core 接口return成功

http:Responsecode:500Responsemessage:InternalServerError接口返回数据:{"IsSuccess":false,"Code":200,"Message":"该手机号已注册,请重新尝试!","RespTime":"2020-03-2418:33:33.623","Data"...

2020-04-01 11:00:53 1388

原创 c# 中WPF 如何读取EXCEL通过反射的方式

c# 中WPF 如何读取EXCEL通过反射的方式试试openxmlsdk超级简单,但是要求你会点C#哦,虽然入门也就两天时间1.通过NuGet安装DocumentFormat.OpenXml库2.试试下面代码void Main(){ string fileName = @"c:\path\to\my\file.xlsx"; using (File...

2020-03-31 10:26:34 466

原创 C#怎么将GBK编码转换成UTF-8编码?

C#怎么将GBK编码转换成UTF-8编码?privatevoidChangeEncode(EncodingfromCoding,EncodingtoCoding,stringfileName){vartext=System.IO.File.ReadAllText(fileName,fromCoding);...

2020-03-31 10:23:03 6772

原创 while(true) Thread.Sleep(XX)我通常是用这种写法,有没有更好的写法或者改进

比如一个TCP通讯里面有一个看门狗来监听连接是否正常我通常是用这种写法,有没有更好的写法或者改进,欢迎讨论。没什么问题,只要不是死循环或者耗费掉过多内存看什么场合,写小程序这么写没毛病啊。我记得有个笑话,说的是一个小白写了一个程序printf("helloworld")然后一个老菜鸟看了,说你这个硬编码,不好,应该用一个变量另一个老菜鸟看了,说要函数复用,应该写一个函数,...

2020-03-28 15:33:56 4340

原创 软件在win10上安装,请问如何解决被Windows Defender SmartScreen阻止

我们公司研发的软件,在win10上安装,会提示WindowsDefenderSmartScreen已阻止启动一个未识别的应用。运行此应用可能会导致你的电脑存在安全风险。请问是因为软件没有签名的原因吗?如果购买ov证书签名是否可以解决?这个问题可以通过两个方式解决1.添加软件签名证书,证书从可信任机构购买,购买是需要钱的哦,软件的大概8k左右2.给微软报备https://www....

2020-03-26 10:31:29 16142

原创 怎么把c#winform界面所有控件属性保存为xml

包括控件位置、颜色等等所有属性,导出为xml,能直接导出所有属性吗?还是只能一个属性一个属性的写入xml?struct ControlPro { public string ControlType; public string ControlName; public string ProName; ...

2020-03-26 10:28:00 2032

原创 c#调用windows组件 实现mstscax.dll内网穿透问题

windows平台自带的mstscax.dll等类库能够实现驱动级别的远程控制数据传输,调用这个组件的软件性能和mstsc.exe无异。但是使 用这个方法由于类库的密封性,软件好像无法实现内网穿透,达到P2P效果。可能小弟才疏学浅,请问几位大神有没有办法实现这个内网穿透功能?盼回复!mstsc跟什么“内网穿透”有什么关系?像TeamViewer类似的软件那样无视防火墙和服务器,直接先...

2020-03-25 11:25:13 755

原创 EntityState属性是与业务无关的啊,定义在实体中,是不是不太好啊

使用EF的时候,在向数据库提交更新的时候,我们需要指定这条数据的状态,是添加、删除、还是修改。而服务端只提供了一个综合性的Update方法,根据实体的状态执行对应的操作。那么,对于这种情况,是不是需要在实体中创建一个EntityState枚举类型的属性呢?但是,这个EntityState属性是与业务无关的啊,定义在实体中,是不是不太好啊?谁说EF服务端只提供一个综合性的update方法?...

2020-03-25 11:17:42 90

原创 .net 4.0 WPF datagrid 某些列有数据。但是不显示出来

.net4.0 gdnew.ItemsSource=dt.DefaultView;方式是绑定数据到datagrid调试的时候。显示是有数据的。进一步处理。也有数据。但是就是不显示出来。额目测是你的datagridview设置了固定的宽度,显示不全。你拉宽一点或者设置自适应是自动绑定的。。没有认为设置绑定什么列明啊。。大神。只是gdnew.ItemsSource=d...

2020-03-24 15:11:45 1105

原创 C#可以编写程序实现浏览器访问云端数据库然后下载到本地EXCEL文件中吗

1、C#可以编写程序实现浏览器访问云端数据库然后下载到本地EXCEL文件中吗?2、如果C#可以,大概步骤是什么,能否告知?3、如果C#不可以,请问用什么语言可以实现,大概步骤是什么,能否告知?1.可以2.下载数据库内容,然后写到excel文件如果不开发,哪我怎么把现场的数据传到云端呢?如果不开发,哪我怎么把云端保存的数据下载到本地电脑中存放到EXCEL电子...

2020-03-23 11:14:31 726

原创 如何获取datagridview新行的数据?

很简单的测试,代码如下:private void button1_Click(object sender, EventArgs e) { int i = dataGridView1.NewRowIndex; MessageBox.Show(dataGridView1[1, i].Value.ToString()); ...

2020-03-22 11:48:54 642

原创 在winform上放了20个动态textbox遇到的问题是左右下都没有问题

在winform上放了20个动态textbox(其中有部分enabled=false),然后加上按键事件,期望可以通过上下左右切换当前textbox的焦点,遇到的问题是左右下都没有问题,但是按UP键就是会回到最上方的一格去。求助是什么原因,code如下: private void Form1_Load(object sender, EventArgs e) {...

2020-03-21 15:22:58 212

原创 如何优化listview控件的内存占用

inform下需要每隔几秒向listview中写入一行数据(每行10列),实测内存增长非常明显,大约每分钟增加0.1M由于程序需要长期稳定运行,请教下如何优化内存问题。旧的数据可以舍弃,但优先考虑保留以方便查看,另外删除旧的行会导致行号变动,从而后台线程中对某一行的操作错误。不能向控件里边插入“过多的”数据,控件主要是用来显示,不是用来保存数据的。如果你说“删除ListView中的行号有问...

2020-03-19 17:47:24 607

原创 利用aspose 把excel转pdf遇到复杂文件被拆分成多页的情况,请问大家有没好的解决办法

利用aspose把excel转pdf遇到复杂文件被拆分成多页的情况(EXCEL工作表被拆分成多页pdf),请问大家有没好的解决办法代码:///excel文件转换pdf///</summary>///<paramname="excelPath">excel的存储地址</param>...

2020-03-18 14:26:57 2421 1

原创 采用485通信协议,C#端采用SerialPort类实现数据收发C#与多设备通过485通讯的问题

最近做一个项目,下位机是单片机,上位机程序采用c#Winform窗体应用程序。采用485通信协议,C#端采用SerialPort类实现数据收发。协议都没有问题,现在有一个情况我不能确定,想请教各位大神帮忙处理一下。这是一个刷卡放水设备。终端有32台设备,每台设备供用户刷卡,然后进行扣费放水。由于当初采购有问题,购买的射频卡有问题,无法实现直接保存用户金额。所以采用了一个不得已的办法,就...

2020-03-18 14:24:51 6635 5

原创 c#基于task能否取消长时间运行的任务?

在我的主程序中,需要处理一个不确定费时多久的工作(有可能1ms完成,也有可能50s,但是是一段顺序执行的代码,只跑一轮,没有循环),我希望当这个工作执行超过一定时间(例如3s)之后,就被停止。我把这个工作放到business类的Hardwork()方法中去做,并被主程序调用。 static void Main(string[] args) { ...

2020-03-17 13:59:28 4004

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除