当前位置: 代码迷 >> VB Dotnet >> 控件太多,占用资源,分为不同的窗体可以解决吗
  详细解决方案

控件太多,占用资源,分为不同的窗体可以解决吗

热度:45   发布时间:2016-04-25 02:08:17.0
控件太多,占用资源,分成不同的窗体可以解决吗?
我有一个程序,需要根据条件录入不同的资料,而录入的格式有很多,所以需要很多录入界面,问题是内存可能会吃不消,有三种方案,高手指点一下:

1、把各种格式放在不同的GroupBox中,需要哪种就把哪种的visible设置为True
2、各种格式放在不同的窗体中,需要的时候就调用 Form.show()
3、各种格式放在不同的DLL中

请各路大神指导
------解决思路----------------------
pc下,超过200个控件应该也不会太慢,再多你就要考虑自己界面是否太复杂该简化了。
设置下双缓冲绘图,有时候有效,例如比较多图片时候。
------解决思路----------------------
窗体可以用Tab分离,以减少需要渲染的控件。
------解决思路----------------------
引用:
Quote: 引用:

窗体可以用Tab分离,以减少需要渲染的控件。


可是我想要的是,很多控件不调用时不加载,把不同的界面放在不同的窗体,需要用的时候再调用这个窗体,会不会就不占用资源?

你说的方法,用我的方法一就可以解决,但是这些visible=false的控件其实也是要占用资源的吧?

你说的资源是指内存?控件用不了多少内存,主要影响性能的是渲染过程中CPU的使用。隐藏控件可以避免这类的消耗。
你要做到控件不用时不加载,可以用动态方式添加控件,没必要把控件全拖到窗体上的。
------解决思路----------------------
Form窗体上添加一个ComboBox控件,用于格式选项列表。

在ComboBox的相关事件列表中选择更新事件,那个事件里动态生成代码即可。


------解决思路----------------------
分成几个窗体花的时间也是一样的,你看有没有某些控件是可重用的。
隐藏控件也是没用的。
  相关解决方案