【问题标题】:Prevent painting of .NET form while form is loading?防止在加载表单时绘制 .NET 表单?
【发布时间】:2010-06-14 15:10:15
【问题描述】:

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

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

【问题讨论】:

    标签: .net vb.net winforms


    【解决方案1】:

    对于主窗口,最简单的做法是创建隐藏的窗口,做你所有的事情,然后显示窗口。这样,您将完成一次完整的重绘,并且布局的某些部分会执行一次。

    【讨论】:

      【解决方案2】:

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

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

      问题是关于滚动条的,但我多次使用表单的方法,因为我知道该怎么做。除非您知道句柄 (Me.Handle),否则控件是什么并不重要

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 这也应该适用于初始启动以外的情况。
        猜你喜欢
        • 2020-07-12
        • 2011-10-08
        • 1970-01-01
        • 2019-06-24
        • 2019-09-20
        • 2011-02-19
        • 1970-01-01
        • 2015-01-17
        • 2018-06-24
        相关资源
        最近更新 更多