C#
enjoy菠菜
人生最重要的事情就是改变。
展开
-
Haclon +c# 实时图像显示
首先第一步用Haclon软件写好实时采集代码:* Image Acquisition 01: Code generated by Image Acquisition 01open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', '000f314ccf51_AlliedVisionTechnologies_Manta_G125BE0020002',原创 2022-04-12 17:01:53 · 1504 阅读 · 0 评论 -
C#关闭窗口时,退出方法汇总
this.Close(); 只关闭当前窗口,无法退出程序,如果有托管线程(非主线程),也无法完全地退出; Application.Exit(); 强制所有消息中止,退出所有的窗体,如果有有托管线程(非主线程),也无法扯淡退出; Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题; System.Environment.Exit(0); 最彻底的退出方法。...原创 2022-01-13 13:23:59 · 5245 阅读 · 1 评论 -
c# 数据byte转换int
今天在做上位机与PLC通信时,对方是协议将按照int16发数据给上位机,但是上位机接收到的是数据是高8位在前,低八位在后。而Csharp 中BitConverter.toUint16默认转换时,数据是低八位在前的,于是需要将这边的数据转换下。C# 自带的方法对此是有处理的。对于整型、长整型等数据类型,BitConverter.Bigendian 认为第一个字节是最高位字节,BitConverter.IsLittleEndian认为第一个字节是最低位字节。/// <summary> //.原创 2021-10-11 18:05:33 · 5685 阅读 · 0 评论 -
C# 子线程如何更新UI界面数据
一般在上位机界面的开发中,通常都需要在后台线程计算处理数据。然后在上位机显示,对于多任务处理,通常都是采用多线程的方法,这就要求必须采用线程间的通信。最简单的就是全局变量,等同是在共享数据,但这并不是最安全可靠的,同时对系统的开销大,还存在资源争夺的问题。无论采用何种框架,都无法直接在子工作线程中,直接对主线程(UI)进行数据更新。常用分几种C#UI开发下的使用方法:通过UI线程的SynchronizationContext的Post/Send方法更新 通过UI控件的Invoke/BeginInv原创 2021-09-03 17:09:38 · 6848 阅读 · 1 评论 -
C# 向已建立EXCEL图表中追加新数据
public void AppendExcelData(string excelPath) { FileStream fs = new FileStream(excelPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);//读取流 POIFSFileSystem ps = new POIFSF...原创 2021-08-31 14:17:37 · 2596 阅读 · 0 评论