我有一个带有主窗体和几个自定义用户控件的 C# 应用程序。
当我移动主窗体时,用户控件会继续重绘,当我停止移动主窗体时,它们会再次重绘。
我该怎么做才能禁用此重绘?
对上一个问题的回答讨论了如何使用 WM_SETREDRAW Win32 API 来暂停和恢复绘图。它包括一个很好的包装类;也许它会帮助你。
您不必自己强制 Invalidate() 。我假设您正在控件中进行一些自定义绘画?在 InitializeComponent() 之后的构造函数内;你有
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
?