上位機學習技巧——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發送不用的值