1、多窗口切換:

【主體框架】:

【用戶控件】:(有4個)

【代碼】:
1 public Windows1 w1;//定義窗體1變量 2 public Windows2 w2;//定義窗體2變量 3 public Windows3 w3;//定義窗體3變量 4 public Windows4 w4;//定義窗體4變量 5 private void Form1_Load(object sender, EventArgs e) 6 { 7 w1 = new Windows1();//給窗體變量賦值 8 w2 = new Windows2();//給窗體變量賦值 9 w3 = new Windows3();//給窗體變量賦值 10 w4 = new Windows4();//給窗體變量賦值 11 } 12 //切換到窗口1 13 private void button1_Click(object sender, EventArgs e) 14 { 15 //顯示窗體1控件 16 w1.Show(); 17 //清除之前加載的控件 18 gpbWindows.Controls.Clear(); 19 //加載窗體1控件 20 gpbWindows.Controls.Add(w1); 21 //輸出日志 22 output("顯示窗口1"); 23 } 24 //窗口2 25 private void button2_Click(object sender, EventArgs e) 26 { 27 //顯示窗體2控件 28 w2.Show(); 29 //清除之前加載的控件 30 gpbWindows.Controls.Clear(); 31 //加載窗體1控件 32 gpbWindows.Controls.Add(w2); 33 //輸出日志 34 output("顯示窗口2"); 35 } 36 //窗口3 37 private void button3_Click(object sender, EventArgs e) 38 { 39 //顯示窗體3控件 40 w3.Show(); 41 //清除之前加載的控件 42 gpbWindows.Controls.Clear(); 43 //加載窗體1控件 44 gpbWindows.Controls.Add(w3); 45 //輸出日志 46 output("顯示窗口3"); 47 } 48 //窗口4 49 private void button4_Click(object sender, EventArgs e) 50 { 51 //顯示窗體4控件 52 w4.Show(); 53 //清除之前加載的控件 54 gpbWindows.Controls.Clear(); 55 //加載窗體1控件 56 gpbWindows.Controls.Add(w4); 57 //輸出日志 58 output("顯示窗口4"); 59 }
【日志輸出代碼-TextBox】:要先引用System.Io;
1 //添加日志輸出類 2 public void output(string log) 3 { 4 //如果日志信息長度超過100行,則自動清除 5 if(txtRiZi.GetLineFromCharIndex(txtRiZi.Text.Length)>100) 6 { 7 txtRiZi.Text = ""; 8 } 9 //添加日志 10 txtRiZi.AppendText(DateTime.Now.ToString("HH:mm:ss ")+log+"\r\n"); 11 write(log); 12 } 13 //添加記錄日志類 14 private void write(string log) 15 { 16 //獲取當前程序目錄(啟用Path,你先得引用System.Io) 17 string logPath = Path.GetDirectoryName(Application.ExecutablePath); 18 //新建文件 19 System.IO.StreamWriter sw = System.IO.File.AppendText(logPath+"/日志.txt"); 20 //寫入日志信息 21 sw.WriteLine(DateTime.Now.ToString("HH:mm:ss ")+log); 22 //關閉文件 23 sw.Close(); 24 sw.Dispose();//用來釋放非托管資源 25 }
