- 博客(54)
- 收藏
- 关注
原创 CODESYS 电子凸轮两种写法
CamTableID:=MC_CamTableSelect_0.CamTableID, // 表格ID。StartMode:=relative , //相对 //相对。Execute:= 执行, // //MasterOffset:=主轴偏移 , // //Execute:=凸轮表执行 , //执行块。
2023-06-06 17:58:05
1569
2
原创 复制文件新路径
private void BtnNewRecipe_Click(object sender, EventArgs e) { int index= Projectpaths[newRecipeForm.lBRecipe.SelectedIndex].LastIndexOf('\\'); string Newpath= Projectpaths[newRecipeForm.lBRecipe.SelectedIndex].Substring(0, in.
2021-04-30 17:37:51
119
1
原创 ///R625报错
///R625报错 /// try { if (cameraTool.CurFramGrabber != null) { cameraTool.CurFramGrabber.Disconnect(true); } } catch (Exception ex
2021-04-28 14:47:15
101
原创 cogDisplayStatusBarV21应用
添加事件鼠标移动事件cogDisplayStatusBarV21.Display = cogRecordDisplay1;
2021-04-25 15:33:00
965
2
原创 暂时当前线程
public EventWaitHandle _waitHandle = new AutoResetEvent(false);//线程同步事件 _waitHandle.WaitOne();//暂停当前线程 _waitHandle.Set();//继续当前线程
2021-04-19 15:31:28
72
转载 C# 无标题窗体移动
一.MouseDown\MouseMove事件方法实现第一种方法我采用常用的根据MouseDown、MouseMove、MouseUp、MouseLeave事件中鼠标移动的距离,窗体坐标也跟着移动的方法.具体代码如下:bool formMove = false; //是否开始移动int currentXPosition = 0; //当前鼠标X坐标int currentYPosition = 0; //当前鼠标Y坐标 //函数:鼠标按下private vo
2021-04-14 17:42:19
151
原创 Winform常用设置
lableAutosize取消自动调整大小TextAlign标签中文本的位置FormFormBorderSytle窗体的边框和标题栏外观行为
2021-04-14 17:05:28
507
原创 C#保存VisionPro图片
System.IO.Directory.CreateDirectory(@"..\\A\\B\\C\D");//创建目录 CogImageFileTool cogImageFileTool1=new CogImageFileTool();//创建对象 cogImageFileTool1.InputImage = cameraTool.Image; cogImageFileTool1.Operator.Open(@
2021-04-12 17:44:30
2647
原创 通过RS232打开光源
Com 初始化 private void btnClickImage_Click(object sender, EventArgs e) { foreach (string PortName in System.IO.Ports.SerialPort.GetPortNames()) { if (PortName.Contains("COM5"))//COM1 {
2021-04-10 16:32:47
775
原创 C#S1200modbustcp通讯
命名空间using HslCommunication.Profinet.Siemens;using HslCommunication; //声明西门子PLC S1200通信 private SiemensS7Net Siemens1200TcpNet = null; private readonly SiemensPLCS SiemensPLCSelected = SiemensPLCS.S1200;//初始化西门子通讯设置 Siemens1200TcpNet
2021-04-06 13:40:59
1427
原创 C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。
this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
2021-03-30 23:50:55
1483
2
原创 线程间操作无效:从不是创建控件的线程访问它的三种方法
我们在ui线程创建的子线程操作ui控件时,系统提示错误详细信息为:线程间操作无效: 从不是创建控件“XXX”的线程访问它。就我知道的有三种方法,先看一下msdn的介绍:访问 Windows 窗体控件本质上不是线程安全的。如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用情况和死锁。确保以线程安全方式访问控件非常重要。看下解决办法吧1、把CheckForIllegalCrossThreadCalls设置为false2、利用委
2021-03-30 15:47:14
4721
原创 C#(winform)为button添加背景图片
1 this.btnReset.BackgroundImage = global::Test.Properties.Resources.btn_reset_out;//设置图片的路径2 this.btnReset.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;//设置图片的显示模式,Stretch表示填满button,如果图片不够button大,就会拉伸图片详细教程...
2021-03-27 13:40:09
1514
原创 C#中鼠标指向button控件,有提示信息,
在按钮的MouseEnter事件中写如下代码:ToolTip p = new ToolTip();p.ShowAlways = true;p.SetToolTip(this.button1, “要显示的文字”);不懂再问。。。
2021-03-27 13:20:04
835
转载 C#中如何表示文件相对路径
方法一:Application.StartupPath 可以获取当前程序运行的路径,可以和相对路径拼接成完整路径,也就不需要相对路径了方法二:相对路径C#也是支持的,用".“和”…“表示,”.“代表当前目录,”…"代表上一级目录。假设你的EXE在 D:\workspace\WebApplication2那么你的XML文件的路径就是".\XML\XML2\333.XML"如果你的EXE在 D:\workspace\WebApplication2\bin那么你的XML文件的路径就是"…\XML\X
2021-03-27 11:18:54
5549
原创 C# ?.Invoke()什么意思
若event不为null,则invoke,这是C#6的新语法。 ?.称为空值传播运算符。//C# 5var handler = Event;if (handler != null){handler(source, e);}//C# 6var handler = Event;handler?.Invoke(source, e);
2021-03-22 15:20:17
3621
1
原创 C#Json读写数据
#region//Json参数类 public class CameraParameters { /// <summary> /// 相机名字 /// </summary> public string CameraName { get; set; } /// <summary> /// 相机序列号 /// </summary>
2021-03-18 16:02:17
992
原创 XML修改、读取
updatexml();//修改节点(数据)//修改节点(数据)private static void updatexml() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("ABC.xml");//加载xml文件,文件 XmlNode xns = xmlDoc.SelectSingleNode("items");//查找要修改的节点
2021-03-15 16:44:39
252
原创 委托事件EventHandler(二)
发布者 public class Marry { public delegate void MarryEventArgs(string msg); public event MarryEventArgs MarryEvent; public void Sendmsg(string msg) { if (msg!=null) { MarryEvent(m
2021-03-03 14:48:51
78
1
原创 委托事件EventHandler(一)
创建委托事件(发布者)public class BridgeGroom { public delegate void MarrHandler(string msg);//自定义委托 public event MarrHandler MarryEvent; public void SendMarriageMsg(string msg) { if (MarryEvent!=null) {.
2021-03-03 14:46:49
181
原创 C#几个经常用到的字符串截取
一、1、取字符串的前i个字符(1)string str1=str.Substring(0,i);(2)string str1=str.Remove(i,str.Length-i);2、去掉字符串的前i个字符string str1=str.Remove(0,i);string str1=str.SubString(i);3、从右边开始取i个字符:string str1=str.SubString(str.Length-i);string str1=str.Remove(0,str.Lengt
2021-02-02 11:15:07
2490
原创 通过代码创建XML文档
//通过代码创建XML文档 // 1、引用命名空间 // 2、创建XML对象 XmlDocument doc = new XmlDocument(); //3创建第一行描述信息,并且添加doc文档中 XmlDeclaration dec= doc.CreateXmlDeclaration("1.0", "UTF-8",null); doc.AppendC
2021-01-25 11:36:36
257
转载 C#for和foreach的区别 简便理解(集合已修改可能无法执行枚举操作。)
C#for和foreach的区别 简便理解for:可以用于任何形式的重复行为,在循环体中,可以进行任何操作;遍历速度慢,执行效率低;foreach:只能用于遍历,不能更改循环目标,遍历速度快,执行效率高;总结:若需要遍历集合或数组,并且遍历的过程中只需要读取而不会更改使用Foreach最为合适;...
2021-01-18 23:23:42
250
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人