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

Posted

tags:

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

比如form1\,form2,form3都继承base窗体,打开了form1(视频),从form1切换到form2(图片),form2再切换到form3,要让它们都没有关闭,再切换时保持原来的状态,怎么做呢?

例如
有二个窗体类
form1、form2
两个窗口之间的切换,显示一个就隐藏另一个:
form2
f1=new
form2();
f2.show();
this.hide();(this
即为当前窗体类form2
)
关闭其中一个就关闭整个程序:
application.exit();
这是将这个运行的程序关闭,就可将这两个窗体都关闭。
参考技术A

    放个TabControl ,每个新建的Form都放到单独的TabPage里

 2.   有个叫DockPanel的控件,也可以完成1中的功能,但是更强大

参考技术B 那你中间是关还是没关啊?如果关了的话,你就需要记录关闭之前的状态,或者在关闭的方法里面写visible = false,就是不关闭页面。这样打开原来的页面的时候,还是那个页面。 参考技术C 首先打开窗体“frmLogin”,双击“注册”按钮,在注册按钮的Click事件里编写代码:
private void btnReg_Click(object sender,EventArgs e)

frmRegister objfrm=new frmRegister();
objfrm.Show();
参考技术D 再建立一个MainForm(设置为顶级窗体,作为父窗体容器使用),其他3个子窗体都填充到父窗体中本回答被提问者采纳

c# winform 窗口控件多,就会加载很慢???

窗口上有100个控件左右吧,加载很慢,谁能给个解决方法

慢到何种程度
不会打开窗口显示要论秒吧

100个控件本身不会影响太大的速度
应该是你在打开这个窗体的时候,做了其他操作比较耗时,比如,查询数据库啊之类的

我做的界面基本上都是上百的控件,因为是监控界面
加载也不慢啊,呵呵
参考技术A 楼主可以别在同一个Form窗体中放这么多的控件啊,
可以分类,写成很多个窗体。

如:点【设置】就进入另一个窗体。
参考技术B 怎么解决?

当然是增加硬件投入啊。

话说回来了,至于要放100个控件嘛? 为什么不把业务分开设计?

或者设计成有些暂时隐蔽的,例如“高级模式”,点高级才会显示很少用到的。
参考技术C 是不是跟你窗体控件绑定数据库太多有关。。。 参考技术D 使用异步编程模式分离数据处理和窗体加载可以很好的解决您所面临的问题

以上是关于C# Winform多个窗体界面间的切换的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform多窗口间切换

C# WinForm窗体界面设置问题

C#窗口切换问题:如何切换回主窗体

C# winform窗体简单保存界面控件参数到xml

C#winform 窗体样式的切换

winform批量更新数据_长时间的执行会导致界面卡死