c# - UserControl 的 BeginUpdate() EndUpdate

标签 c# .net winforms user-controls paint

我编写了一个UserControl,其行为类似于ContainerControl,但完全由WindowsForms 绘制(我继承自UserControl)

我想避免在填充控件时绘制控件,因此我需要编写类似于 BeginUpdate() - EndUpdate() 的内容。

当控件是用户绘制时,这很容易做到,但在这种情况下,我不确定如何进行。

最佳答案

您可以使用暂停/恢复布局。例如

private void BeginUpdate()
{
  this.SuspendLayout();
  // Do paint events
  EndUpdate();
}

private void EndUpdate()
{
   this.ResumeLayout();
   // Raise an event if needed.
}

如果您对暂停控件及其子控件的绘制感兴趣,请查看这个 SO 问题:Suspend Control and Children Painting

关于c# - UserControl 的 BeginUpdate() EndUpdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4994059/

相关文章:

c# - 如何从 C# 中的列表框索引中检索文本值

c# - C# 中的嵌套数据库事务

c# - 在数组中使用 Person 类

c# - 如何处理多个 Enumerable.Zip 调用?

c# - Entity Framework - DbMigrator 不执行迁移类

c# - 如何使用自动换行功能在 C#4.0 中动态设置标签框的文本?

c# - Winform 窗体文本中的版本号

c# - 使用 C# 的 lua 脚本中的西里尔字符串值

c# - 将 BOT 与 ASP.Net 应用程序集成

c# - NHibernate - 如何审计实体的所有领域?