如何避免在加载其组件/类时的窗口闪烁

本文关键字:窗口 闪烁 组件 何避免 加载 | 更新日期: 2023-09-27 18:30:01

我在加载windows窗体组件时遇到了一个闪烁的问题。

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

正如您所看到的,我在Form_Load事件中有很多函数。周围有防止闪烁的措施吗?

提前谢谢。

如何避免在加载其组件/类时的窗口闪烁

我认为SuspendLayoutResumeLayout会起作用:

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

如果需要,您也可以尝试将表单的Visible初始设置为false。然后在加载完所有内容后,将其设置回true。这也可以应用于每个组件。