C#关于winform窗口控件过多,显示慢的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#关于winform窗口控件过多,显示慢的问题?相关的知识,希望对你有一定的参考价值。

如果一个窗口含有5个页的选项卡,每个页上有20个控件,这样在窗体首次显示时就要加载100个控件,所以我想可不可以修改窗体的InitializeComponent()方法,首次打开窗体只生成第一页的20个控件,剩下的打开选项卡时再生成,这样就可以减少80个控件的生成,我想问修改InitializeComponent()的这种方法会不会有什么问题,或者有没有必要这样做?

参考技术A 首先,对于现在的电脑配置来说,完全没必要这么做.(内存,显卡足够)
对于你说的这样的窗口,只是一次加载,如果想用户体验好点,就和edwin5200
说的,可以在加载窗体时做个等待,比如QQ登录时加载等待一样.
改善用户体验的方法有很多.如果考虑的控件确实太多,造成加载缓慢,不妨考虑多窗体来实现.

关于C# winform调用另一个窗口中的控件的问题

在窗口A(命名为aa)中有一个combobox(命名为cmb_district),要在窗口B(命名为bb)调用窗口A中的combobox,所以我在窗口B中写下了这语句:“ComboBox district = (ComboBox)Application.OpenForms[“aa”].Controls["cmb_district"];”,发觉是可以调用得到窗口A中的cmb_district;但是当我在窗口A中创建了groupbox1,然后将cmb_district拉到groupbox1里面时,发觉在窗口B中的那句语句就不管用了,请问应该要如何修改该语句呢?请各路英雄能够拔刀相助,在下不胜感激!!!

参考技术A 在A中独立创建一个公共函数,就是在命名空间自己写一个公共函数。那样就可以在别的窗口的调用。如果不知道在哪里创建,就试着自己调整函数的位置…试试看,希望能帮到你! 参考技术B ComboBox district = (ComboBox)Application.OpenForms[“aa”].Controls["groupbox1"].Controls["cmb_district"];本回答被提问者采纳

以上是关于C#关于winform窗口控件过多,显示慢的问题?的主要内容,如果未能解决你的问题,请参考以下文章

C# WinForm 当窗体控件图片过多时,切换界面的显示会发生闪烁,该怎么取消闪烁。(注:双缓冲开启了)

关于C# winform调用另一个窗口中的控件的问题

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

c# winform 关于控件forecolor问题。我明明在属性里设置好了,但运行程序还是不显示,为啥?看图

我用C#进行winform编程,关于progressBar的用法

C# winform 控件大小布局适应窗口放大缩小?