日期:2014-05-18  浏览次数:21495 次

winform窗体动态加载用户控件界面绘制缓慢
在winform窗体中点击按钮后动态加载一个用户控件,用户控件中有多个文本框,下拉框等输入框。点击按钮添加时,用户控件中的子控件几乎是一个一个画上去,使用了SuspendLayout(),ResumeLayout()也没有用,有没有办法让它加载完了一次显示呢。

------解决方案--------------------
没这么搞过

尝试:

定义一个 bool 型全局变量和一个事件
在用户控件最前端添加一个覆盖整个控件切不透明的 Label Text = "正在加载..." 居中显示

在 InitializeComponent 方法末尾将变量设为 true 并引发事件

在事件中将 Label Visible = true 或 Remove 掉
------解决方案--------------------
不知道楼主的界面控件之间有没有什么联系,是否可以分类。

我们之前的项目,就是一个窗体,一个Tab,因为控件太多,加载极慢,后来把每一个Tab页得控件都写在用户控件里了,感觉效果好点。