在加载其组件时,我遇到了关于窗体闪烁问题的问题。
private void frmOrderhdr_Load(object sender, EventArgs e)
{
InitializeInstanceObj();
InitializedControls();
InitializedGridControls();
InitializeFields();
InitializeComboBoxDataSources();
ControlSettings();
PopulateFieldsUpdate();
SetControlPermission();
InitializedGrid();
}
如您所见,我在Form_Load事件中有很多函数。是否有任何工作来防止闪烁?
提前致谢。
答案 0 :(得分:4)
我认为SuspendLayout
和ResumeLayout
可行:
private void frmOrderhdr_Load(object sender, EventArgs e) {
SuspendLayout();
InitializeInstanceObj();
InitializedControls();
InitializedGridControls();
InitializeFields();
InitializeComboBoxDataSources();
ControlSettings();
PopulateFieldsUpdate();
SetControlPermission();
InitializedGrid();
ResumeLayout(true);
}
如果需要,您还可以尝试将表单的Visible
设置为false。然后在加载所有内容后,将其设置为true
。这也可以应用于每个组件。