C#
ilovelab
这个作者很懒,什么都没留下…
展开
-
WinForm控件的数据绑定
2、控件的双向绑定 通过类的继承 INotifyPropertyChanged。3、使用时先绑定即可在后面更新变量时,对控件值进行更新,范例代码如下。1、控件的数据绑定通过 DataBindings进行绑定。在类中增加委托函数,如下类范例。原创 2023-12-24 15:40:22 · 941 阅读 · 0 评论 -
正运动三轴运动控制卡ECI3320控制汇川EtherCat伺服2
调试记录:硬件配置表:正运动三轴控制卡型号:ECI3320汇川伺服驱动器型号:IS620NS2R8I,伺服电机型号:MS1H4-40B30CB Type:A331Z。原创 2022-10-20 12:43:36 · 3925 阅读 · 0 评论 -
C# DateTime一天的起始截止时间
起始时间=Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));截止时间=Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));原创 2022-09-14 17:29:42 · 1331 阅读 · 0 评论 -
利用Epplus将Datatable数据导出到Excel
其中ds.Tables[0]为DataTable数据。原创 2022-09-02 19:44:15 · 680 阅读 · 0 评论 -
扫码枪利用钩子进行数据录入
首先利用下面代码进行钩子录入时,先需要将扫码枪结尾处加上回车符,霍尼韦尔1911i扫码枪加回车的设置码如下。调用时,进行实例化,start,事件,以及释放stop。之后利用下面的类进行实现。原创 2022-09-02 19:38:36 · 1334 阅读 · 0 评论 -
利用反射遍历类中的变量,并将数据显示到ListView中
我也没找到解决方法,能做的,也许就是把第一列宽度设为 0,不用第一列,从第二列开始用。此时 ListView1.Items[i].Text 也不能用了,因为它对应的是 ListView1[i].SubItems[0].Text。数据库中读取上来的数据是一个类的List变量,取出这个类,需要把类中所有的信息显示到ListView中,类中的属性又很多,因此使用遍历的方法将类中的属性值取出来。首列只能居左,不能居中居右的问题,是个常遇到的问题,目前我们都搞不懂为什么要这么做。目前按照上面的方法进行解决。原创 2022-09-02 19:30:54 · 228 阅读 · 0 评论 -
WinForm TextBox默认中英文输入法设置
Disable 调出后默认为英文输入状态调出后默认为西文标点 英文输入时为半角字符 推荐使用,适合于密码输入。Hangul 调出后默认为汉字输入状态 调出后默认为西文标点 英文输入时为半角字符 推荐使用,适合于数据信息录入。NoControl 调出后默认为英文输入状态 调出后默认为西文标点 英文输入时为半角字符 不建议使用。...原创 2022-08-25 18:47:07 · 3785 阅读 · 0 评论 -
使用SqlSugar来操作数据库
使用SqlSugar来操作数据库,这里以操作sqlLite为例来进行讲解,可以操作MySQL等数据库。方法步骤:1、使用NuGet下载类库SqlSugar2、使用NuGet下载类库System.Data.SQLite3、使用SQLiteStudio建立数据库和表单,如下图4、在程序项目中建立文件夹Models并创建类SysAdmin,如下图using System;using System.Collections.Generic;using System.Linq;usi原创 2022-04-09 20:47:25 · 4475 阅读 · 1 评论 -
C#将类B的信息传递给类A的方法----委托
使用委托将类B的信息传递给类A,使用委托的方法。参考见视频:上位机神奇的委托技术_哔哩哔哩_bilibili原创 2022-04-02 09:45:31 · 548 阅读 · 0 评论 -
使用SunnyUI记录
在范例FButton页面,注释了在进行页面切换时执行的语句namespace Sunny.UI.Demo{ public partial class FButton : UIPage { public FButton() { InitializeComponent(); uiToolTip1.SetToolTip(uiButton1, uiButton1.Text); uiTool原创 2021-12-28 15:29:17 · 1707 阅读 · 0 评论 -
将 Winform 窗体置顶显示的解决方法
Winform 窗口有一个属性:TopMost,表示该窗体是否始终显示在此属性未设置为 true 的所有其他窗体之上;我的理解就是,如果一个 Winform 项目有多个窗体,其中有一个窗体的 TopMost 属性设为 true 了,而其他窗体的 TopMost 未设置为 true,那么 TopMost 属性为 true 的窗体就会显示在其他窗体之上;前几天项目上遇到一个问题:我明明设置了窗体的 TopMost 属性为 true,还是无法显示在最上层;后来经过反复测试,发现一个情况:如果我只在窗体原创 2021-01-14 20:35:06 · 7087 阅读 · 1 评论 -
C# LINQ的简单使用
1、LINQ查询语句有两种LINQ Query和LINQ Method2、使用LINQ语句获取的变量用var,是一个动态变量。3、LINQ语句适用的范围XML 文档:LINQ to XML ADO.NET 实体框架:LINQ to Entities .NET 集合、文件、字符串等:LINQ to objectsusing System;using System.Collections.Generic;using System.Linq;using System.Text;usin原创 2020-12-31 09:23:26 · 361 阅读 · 1 评论 -
【C#】禁用 Windows窗体右上角的关闭按钮
public partial class Form1 : Form { [DllImport("USER32.dll")] public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags); [DllImport("USER32.dll")] public static extern int GetSystemMenu(int hWnd, int bR.原创 2020-11-18 16:25:56 · 1133 阅读 · 2 评论 -
Halcon图像显示控件,有右击选项的功能时,如何避免与DrawCircle函数右击结束绘制时冲突
private void 圆ToolStripMenuItem_Click(object sender, EventArgs e) { try { hwc_imageWindow.DrawModel = true; HOperatorSet.SetColor(WindowHandle, new HTuple("green")); //先将Conte.原创 2020-09-29 16:52:22 · 1221 阅读 · 0 评论 -
C#开发微信公众号教程
两种类型:1、开发不通过开发者web服务中转,直接通过HTTP请求来进行发送客服消息,此种只要软件有外网可以请求微信服务器就可以,通过微信服务器可以直接把所要发送的信息,发送给某个用户。-----------开发一个winform应用程序就可以了。2、是通过开发者的Web服务器,进行发送,此类型应用的类型为,客户在公众号里发信息,----->微信服务器------>开发者服务器...原创 2020-01-04 14:09:32 · 1120 阅读 · 0 评论 -
c# FlowLayoutPanel如何能添加容器后使容器出现横向滚动条而不是自动换行
原创 2019-12-30 10:47:01 · 2966 阅读 · 0 评论 -
C#事件EventHandle、Event的使用
在C#绝大多数的事件开发中,优先使用.net自带的EventHandle事件来编写事件处理。可以解决绝大部分的事件操作,另外有一小部分可以使用委托,加event事件来自定义事件编写,比如在进行自定义控件的事件时使用Eventhandle在控件事件浏览器中找不到,只能使用委托加事件的方式。EventHandle来编写事件处理的范例参考链接地址https://docs.microsoft.co...原创 2019-12-28 09:40:44 · 2408 阅读 · 1 评论 -
DataTable相关知识点
可以使用相应的DataTable构造函数创建DataTable对象。 可以通过使用Add方法将其添加到DataTable对象的Tables集合中,将其添加到DataSet中。 请注意,将一个DataTable作为成员添加到一个DataSet的Tables集合中后,不能再将其添加到任何其他DataSet的表集合中。...原创 2019-12-21 15:38:41 · 143 阅读 · 0 评论 -
在Winform中设计圆形按钮(Design Circular Buttons in WinForm App C#)
using System;using System.Collections.Generic;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsForms...原创 2019-12-19 16:13:36 · 1031 阅读 · 0 评论 -
C#中,子类构造函数调用父类父类构造函数的正确方式
正确调用的方式是:摘自:https://blog.csdn.net/aa18316/article/details/101884616原创 2019-12-18 09:57:21 · 4091 阅读 · 0 评论 -
C#使用SmtpClient发送邮件
原理: 例如A使用163邮箱发送邮件给B(qq邮箱)。首先A会把邮件通过SMTP(Simple Mail Transfer Protocol)协议传输到163的Smtp服务器上,163的Smtp服务器会根据B的邮箱账号,把邮件通过Smtp协议发给QQ邮箱的Smtp服务器。QQ的Smtp服务器接收到邮件消息后会将之存储在QQ邮箱的邮件存储设备上。当B登陆QQ邮箱后,如果有新邮件,POP3服务...转载 2019-12-04 09:29:22 · 4213 阅读 · 0 评论 -
使用事件把子函数的消息传输到主界面中
今天看到一个范例,讲解如何把子函数的显示传输到主界面的方法,范例使用的是eventhandle事件的方式,该方式也是比较常规方式范例链接:https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.objectmodel.collection-1?redirectedfrom=MSDN&view=netframewo...原创 2019-11-10 17:27:58 · 159 阅读 · 0 评论 -
开源免费的图表库和环形进度条库(LiveChart&CircularProgressBar)
这两个库均可在Nuget里搜索到,安装完之后,编译一下,然后再将.dll添加到工具箱里既可使用。LiveChart官方网站:https://lvcharts.net/ 范例网站:https://lvcharts.net/App/examples/v1/wf/Basic%20Line%20ChartGithub地址:https://github.com/Live-Charts/Live-C...原创 2019-11-06 09:51:47 · 1707 阅读 · 0 评论 -
c# datagridview点击列头排序改为以数值大小排序
具体细看MSDN的DataGridViewSortCompareEventArgs. SortResult 属性 如何:自定义 Windows 窗体 DataGridView 控件中的排序方式 可以直接使用下面代码private void dataGridView1_SortCompare(object sender, DataGridViewSortCompare...原创 2019-08-06 14:38:46 · 5156 阅读 · 1 评论 -
解决DataReader对象被占用问题
摘自:http://blog.sina.com.cn/s/blog_14ecbd9250102wuz7.html对于手动查询的界面可以在该界面类里单独打开一个连接最近在软件开发过程中遇到了一个比较棘手的问题———“已有打开的与此命令相关联的DataReader,必须首先将它关闭”,花了我一整晚时间才将它调试好,在这个期间我上网搜索了许多相关的解决方案,也做了相关的尝试,结果都是以失败告终...转载 2019-08-08 15:30:23 · 420 阅读 · 0 评论 -
编写一个消息类,专门用于子类间做流程显示
程序下载地址:https://download.csdn.net/download/yue1453544229/11500830流程消息类,该类使用单例模式,可以在各子类的流程消息传递,如果需要在子类中传递数据,则再写一个其他事件,用于数据传递,或用List,队列等进行传递。using System;using System.Collections.Generic;using Sys...原创 2019-08-08 10:39:40 · 172 阅读 · 0 评论 -
使用CrcDotNET进行CRC校验
在进行CRC校验时,首先要知道自己使用的CRC参数模型,不同的CRC参数模型其多项式,初始值和结果异或值不同。可以在网站http://www.ip33.com/crc.html进行查询public Crc16() : base(0x8005, 0xFFFF, 0x0000, true, true) { }使用Nuget下载CrcD...原创 2018-12-29 10:27:32 · 548 阅读 · 0 评论 -
chart控件,X轴刻度值,小数位数如何控制
在画图区域集合的轴集合中有个lablestyle的Format的可以设置,如:N0是整数,如N2是小数位两位。网线格显示原创 2019-08-13 15:52:55 · 8783 阅读 · 2 评论 -
C# DateTime.ToString()的各种日期格式
DateTime.ToString()的各种日期格式例:ToString:2016/9/27 0:00:00ToString("yyyy/MM/dd"):2016/09/27ToString("yyyy-MM-dd"):2016-09-27ToString("yyyy.MM.dd"):2016.09.27ToString("dd/MM/yyyy"):27/09/2016ToStr...原创 2019-08-09 11:15:47 · 4482 阅读 · 0 评论 -
针对在线程中调用控件的说明,针对this.Invoke
刚开始时直接将读取PLC变量的函数,也直接写到this.Invoke,此时PLC未进行连接时,注意此时读取时将有一定的耗时,而this.Invoke内所执行的内容将也在主界面线程里,这时将会造成界面卡顿严重。因此进行修改,将读取PLC变量的语句不要放到线程里的this.Invoke里,将其放到外面,修改之后的代码如下: private void Form1_Load(obj...原创 2019-08-24 10:35:20 · 583 阅读 · 0 评论 -
处理点击按钮后禁用Click按钮事件,延时一定时间后再启用该按钮
之前直接这样写的,但这样写时,即使按钮变成灰色,再点击后还是会触发相应事件,追究其原因是只有当这个按钮事件触发结束后才会启用Enable属性设置的值,解决方法是将执行部分在线程里运行即可。修改之后的代码如下: private void btnHeadXMove_Click(object sender, EventArgs e) { ...原创 2019-08-24 10:51:28 · 1690 阅读 · 0 评论 -
C#隐藏TabControl的选项卡头部的完美解决方案
方法1、 tabControl1.SizeMode = TabSizeMode.Fixed; tabControl1.ItemSize = new Size(0, 17); tabControl1.Appearance = TabAppearance.FlatButtons;方法2、//这句代码可以隐藏选项卡选头...原创 2019-08-27 19:22:16 · 4808 阅读 · 0 评论 -
C#中设置状态栏(statusStrip)的布局
解决方案:状态栏所有项目(StatusLabel、ProgressBar、DropDownButton等)前添加一个空白的StatusLabel (Text属性为空),并将其Spring属性设为True。Spring属性的作用是设置该项是否填满剩余空间,设为True以后,当程序运行时后面的项就都挤到右边,实现靠右对齐了。如果更进一步,需要一部分项靠左,一部分靠右,那就在两部分中间插入空...原创 2019-09-23 10:06:14 · 2963 阅读 · 0 评论 -
用户权限切换界面
权限界面程序public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void btnLogin_Click(object sender, EventArgs e) ...原创 2019-08-04 20:31:18 · 470 阅读 · 0 评论 -
使用EventWaitHandle实现线程同步例子
本篇通过一个列子使用EventWaitHandle实现两个线程的同步。请参看下面的列子。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ThreadSynDemo{ class Progra...原创 2019-08-03 10:28:36 · 423 阅读 · 0 评论 -
Halcon 里Hobject 转HImage
c#HobjectToRGBHimage //声明参数 public HImage image; public HObject hobject; //初始化参数 image = new HImage(); HOperatorSet.GenEmptyObj(out hobject); //获得Hobject对象 hobject.Dispose(); HOperatorSe...转载 2019-03-25 21:50:19 · 3639 阅读 · 0 评论 -
c# 弹出三个按钮的对话框如何实现
private void button1_Click(object sender, EventArgs e) { DialogResult dr; dr = MessageBox.Show("测试一下消息对话框", "测试测试", MessageBoxButtons.Abort...转载 2019-03-18 20:46:34 · 2920 阅读 · 0 评论 -
C# 中字符串string和字节数组byte[]的转换
string转byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );byte[]转string:string str = System.Text.Encoding.Default.GetString ( byteArray );string转ASCII byte[]:byte[] byteA...转载 2019-01-31 08:16:04 · 323 阅读 · 0 评论 -
C# BeginInvoke与EndInvoke的使用
摘自:https://www.cnblogs.com/Tammie/archive/2011/09/07/2169491.html之前,我已经说过了BeginInvoke与Invoke的异同这里就要再来说说endinvoke的意思了我们知道 beginvoke就是通过线程的调用来异步的完成一些工作。一般只需要启动它就好,让它一直操作着。例如 用begininvoke修改界面显示,那么就...转载 2019-01-30 17:04:45 · 748 阅读 · 0 评论 -
C#其他线程操作控件
其他线程操作控件,委托的方法this.Invoke(new EventHandler(delegate { tb_runstate.Text = "自动运行中"; tb_runstate.BackColor = Color.LawnGreen; }...原创 2019-01-25 11:27:32 · 285 阅读 · 0 评论