上位机学习技巧——c#(原创)
(一直更新.......)
一、扫描可用串口
方法一、
for循环,比如扫描范围位串口1~串口20,则循环20遍,循环内容是打开串口;
使用 try{......}catch{ };
如果打开成功,就添加该控件到下拉列表中,然后关闭串口;
如果打开不成功,会跳转到到catch,但是catch不填东西,会跳过,继续执行新一轮循环;
其实使用if()也可以实现。
方法二、
foreach (string s in SerialPort.GetPortNames()) //遍历可用串口,并添加到comName控件里
{
this.comName.Items.Add(s);
}
使用SerialPort.GetPortNames()方法直接获取所有可用串口,
然后使用foreach遍历添加到下拉列表中
二、捕获鼠标移到控件(上升沿)/离开控件(下降沿)
在窗体生成代码中,找到对应按钮(这里使用butten1)区域,在区域内添加两个事件,分别是:
鼠标移到控件上:this.butten1.MouseHover += new System EvenHandler(this.button1_MouseHover) //这个this.button1_MouseHover是自定义一个方法,当鼠标移到button1上,方法触发
鼠标离开控件: this.butten1.MouseLeave += new System EvenHandler(this.button1_MouseLeave) //这个this.button1_MouseLeave是自定义一个方法,当鼠标移开button1上,方法触发
三、多个按钮发送事件,添加同一发送方法
首先自己定义一个方法体buttonAll
然后在窗体代码设计界面,把该方法添加到每个button被按事件里(需要把原被按事件方法删除掉,使用自定义事件方法代替它)
然后修改每个button的flg属性,分别给他们贴上标签,比如1,2,3,4
然后提取传进来的sender(即被按的button本体)的flg属性,因此可以区分button实现不一样的事情
比如发送不一样的字符串,把所有字符串存到一个数组里面,然后发送flg值索引数组的元素,就可以实现不同的button发送不用的值