在加载表单时防止绘制.NET表单?

时间:2010-06-14 15:10:16

标签: .net vb.net winforms

有没有办法在我操作它时关闭.NET表单的所有可视更新?例如,当我的程序首次加载时,我将选项卡控件设置为上次打开的选项卡。用户可以看到程序切换选项卡。

我已经查看了SuspendLayout和ResumeLayout,但要么我不明白他们在做什么,要么我没有正确使用它们,因为它们似乎没有任何效果。有人告诉我,曾经有一种方法可以关闭VB 6中的绘制事件。这在.NET中是否仍然存在?

3 个答案:

答案 0 :(得分:6)

对于主窗口,最简单的方法是创建隐藏窗口,执行所有操作,然后显示窗口。通过这种方式,您将完成一次完整的重绘,并且布局的某些部分会执行一次。

答案 1 :(得分:1)

覆盖表单/控件中的OnPaint和OnPaintBackground。设置标志时,不要调用方法的基本实现。

其他适用于儿童的方法link text

答案 2 :(得分:1)

有一种非管理方法似乎效果最好(至少根据我的经验):

Disable Painting of the VScrollbar in a System.Windows.Forms.RichTextBox

问题是关于一个滚动条,但我已经多次使用这种方法,因为我知道如何做。除非你知道句柄(Me.Handle)

,否则控制是什么并不重要