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+" "); 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 }