0

我在加载其组件时遇到了关于 Windows 窗体闪烁的问题。

private void frmOrderhdr_Load(object sender, EventArgs e)
         {
            InitializeInstanceObj();
            InitializedControls();
            InitializedGridControls();
            InitializeFields();
            InitializeComboBoxDataSources();
            ControlSettings();
            PopulateFieldsUpdate();
            SetControlPermission();
            InitializedGrid();
        }

如您所见,我在 Form_Load 事件中有很多函数。有什么办法可以防止闪烁吗?

提前致谢。

4

1 回答 1

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。然后在加载所有内容后,将其设置为trueback。这也可以应用于每个组件。

于 2013-09-02T05:01:34.357 回答