如何摆脱闪烁的形式?

时间:2011-01-24 10:48:17

标签: vb.net winforms

我正在用VB.NET设计Win Form并在其中使用Table布局。 我遇到的问题是,我的WinForm每次加载都会闪烁。

请建议我在VB.NET中永久解决。 为什么会出现此问题?是因为表格布局?

4 个答案:

答案 0 :(得分:10)

尝试将DoubleBuffered form property设为“true”。

答案 1 :(得分:5)

如果您在操作UI的表单的Load事件中添加了任何代码,请使用SuspendLayout()和ResumeLayout()来防止闪烁。

答案 2 :(得分:1)

加载表格后,我出现了闪烁的问题。尝试了所有建议,但没有任何实际成功。搜寻该问题时,在某处偶然发现了这段魔术代码。为我解决了100%。只需将其复制并粘贴到表单代码中即可。对作者做得很好。当其他所有方法都失败时,请尝试此操作。

Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        Dim cp As CreateParams = MyBase.CreateParams
        cp.ExStyle = cp.ExStyle Or 33554432
        Return cp
    End Get
End Property

答案 3 :(得分:-1)

我发现其中一种形式有了很大的改进,通过添加

,双缓冲的作用很小
Me.Visible = False

在表格加载事件的早期。