剛剛接觸上位機的開發(fā),單純是為了玩一下,淺度學習。
對大部分初學者來說,做上位機最基本的需求是串口收發(fā)、數據顯示和波形圖,要實現(xiàn)這幾個功能其實都不難,但是如果把這幾個模塊放到同一個窗體就會顯得很亂。為了更美觀,我想要把這幾個模塊放在不同的窗口,通過按鍵切換頁面,于是就有了這篇博客。
一、新建項目
第1步:創(chuàng)建一個Window窗體應用(.NET Framework)
我用的是vs2019版本,其他版本也是一樣的。
第2步:配置項目
提示:框架要選.NET Framework 4以上,如果沒有,先確認項目選的是不是Window窗體應用,再確認是否安裝NET Framework。項目名稱可以隨便起,項目保存路徑可以根據自己的情況選擇。
第3步:新建窗體
在自己的項目下新增用戶控件窗體。
新建多少個看自己的需求。
二、添加控件
選一個窗體作為主窗體,添加GroupBox控件和Button控件,調整好大小和布局。
提示:GroupBox是后面要作為切換的窗口,Button控件用于觸發(fā)切換事件。
我這里用默認的Form1作為主窗體,加上新建的窗體一共是4個窗體,添加3個按鍵用來切換新建的3個窗體。要切換的幾個窗體尺寸建議和GroupBox控件的窗口保持一致。
在另外幾個窗體加入自己需要的控件。
我在主窗體以外的幾個窗體隨便添加一些控件用來區(qū)分窗體,不然看不出切換的效果。
三、編寫代碼
主窗體雙擊沒有放置控件的空白區(qū)域,會自動生成窗體默認加載函數,在這個函數里面加入下面的代碼。
示例代碼:
w1 = new UserControl1();
w2 = new UserControl2();
w3 = new UserControl3();
w1.Show();
groupBox1.Controls.Clear();
groupBox1.Controls.Add(w1);
在函數外加入定義:
public static UserControl1 w1;
public static UserControl2 w2;
public static UserControl3 w3;
雙擊按鍵控件,自動生成按鍵觸發(fā)事件函數,分別在3個按鍵的函數里面添加以下代碼。
按鍵1示例代碼:
w1.Show();
groupBox1.Controls.Clear();
groupBox1.Controls.Add(w1);
按鍵2示例代碼:
w2.Show();
groupBox1.Controls.Clear();
groupBox1.Controls.Add(w2);
按鍵3示例代碼:
w3.Show();
groupBox1.Controls.Clear();
groupBox1.Controls.Add(w3);
四、運行代碼
啟動的時候加載第1個窗體。
通過按鍵切換窗體。
五、結束語
好了,關于多個窗體切換的介紹就到這里了,有什么問題歡迎在評論區(qū)留言。
源碼下載:https://download.csdn.net/download/ShenZhen_zixian/21840758