c# 如何切换窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 如何切换窗口相关的知识,希望对你有一定的参考价值。

winform中,比如说我窗口上是各种内容,点了切换页面的按钮后,切换到另外一个画面,画面上是完全不同的别的内容,2个页面,或者多个页面可以通过特定的按钮来切换。 但是都是显示在一个form里。
求实现代码

方法1.假设我有一个form叫Main,另一form叫child
在Main中有个button,该button的点击事件,内容:
child dd=new child();
dd.show();

方法2,使用tabcontrol控件,该控件可以有多个tabPage
方法3,使用plan控件,每个plan中有不同的内容,可以通过点知不同的button事件,让plan的可见性不同就可以了
参考技术A 用Panel来显示是个办法,使用用户控件组合需要显示的界面,在适当的时候把用户控件加入某个容器。 参考技术B 可以用几个不同的panel控件把显示的页面排好,一个panel排一个页面,到时候按钮来控制panel的可见性visiable属性就行了 参考技术C 只是要多页面的话,感觉没必要切换窗口。
C#2010中 工具箱里面的容器里面有个[TabControl]的控件可以实现你的切换页面而不改变form的要求。
TabControl类似IE浏览器个页面的选项卡,可以设计阶段在不同选项卡中添加不同内容,也可以在运行期间用代码给各选项卡添加不同内容。
不过要做成IE的后台刷新选项卡就要弄成后台多线程刷新了.....本回答被提问者和网友采纳
参考技术D 使用 TabcControl 控件

C#窗口的切换

最近在学习TCP/UDP,线程那部分,感觉好难,但是若不努力迎上去难道问题自己就能迎刃而解么?既然什么都要自己不断努力那就好好加油吧!

 

今天就记录一下我之前各种找的窗口切换问题吧~

1、第一个方法比较简单,也比较萌,是我最近无意间发现的~

 1         public MainFrom_Client()
 2         {
 3             InitializeComponent();
 4             SetMainTreadState();
 5         }
 6 
 7         //先设定主窗体(也就是MainFrom_Client)的透明度和任务栏状态
 8         private void SetMainTreadState()
 9         {
10             //这个其实是障眼法!把主窗体(也就是MainFrom_Client)的弄成隐形的,
11             //只需要把Opacity改成100就出来了,哈哈哈哈哈哈哈哈
12             this.Opacity = 0;
13             //然后在把菜单栏运行的显示也隐形掉
14             this.ShowInTaskbar = false;
15         }
16 
17         private void ResetMainThreadState()
18         {
19             this.Opacity = 100;
20             this.ShowInTaskbar = true;
21             //把当前控件带到前面来就好了
22             this.BringToFront();
23         }

此时窗体是隐形的,可以随便重新设定一个函数,等满足设定的某个特定条件时就调用ResetMainThreadState()函数,这样主窗体MainFrom_Client就会显示出来了~
萌萌哒的掩耳盗铃方式~

 

2、还有一个就是实打实的窗体调用问题了(查了好久的知识,累死宝宝了T^T)

我的Program.cs文件,先确定最先出现的登录界面Login_interface()。

1         static void Main()
2         {
3             Application.EnableVisualStyles();
4             Application.SetCompatibleTextRenderingDefault(false);
5             Login_interface login_1 = new Login_interface();
6             login_1.Show();
7             Application.Run();
8         }

一般的Program.cs文件里都是Application.Run(new Login_interface());,这样最大的问题就是,如果我从登录界面进入用户界面,想要关闭登录界面的话,系统就会自动以为你退出了程序,这样我就没办法进入到用户界面,此时如果我非要进入用户界面的话,就可以用类似1的方法,用隐藏等各种方式以此不显示登录界面。
这种方法其实不错,可是我就是有点死性子,所以我一定要关闭登录界面,所以在Program.cs中设定好了Application.Run();,这样我后面怎么“虐待”登录界面,都不会影响程序的继续使用。

然后就是我的登录界面的程序了~简单了吧~

 1         #region 由登陆界面进入到用户界面
 2         private void button1_Click(object sender, EventArgs e)
 3         {
 4 
 5             if (textBox_UserName.Text == "1" && textBox_PassWord.Text == "1")
 6             {
 7                 this.Close();
 8                 User_Panel fm = new User_Panel();
 9                 fm.Show();
10             }
11             else
12             {
13                 MessageBox.Show("用户名与密码错误,请重新输入");
14             }
15         }
16         #endregion

 

以上是关于c# 如何切换窗口的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform多窗口间切换

C# tabControl 关闭窗口的界面切换问题。

C#窗口的切换

单击按钮后无法切换到新的浏览器窗口 C# Selenium

C# Winform多个窗体界面间的切换

c# winform 如何做浮动窗口