簡體   English   中英

C#用戶控制重繪

[英]C# User Control Repaint

我有一個帶有mainform的C#應用​​程序和幾個自定義用戶控件。

當我移動主窗體時,用戶控件保持重新繪制,當我停止移動主窗體時它們再次重新繪制。

我該怎么做才能禁用這種重新繪制?

上一個問題的回答討論了如何使用WM_SETREDRAW Win32 API暫停和恢復繪圖。 它包括一個很好的包裝類; 也許它會幫助你。

如果它的閃爍令你討厭,你可以嘗試將控件上的DoubleBuffered屬性設置為true。

除此之外,您可以訂閱表單移動事件並以類似於此問題中描述的方式關閉子控件上的繪畫...

看看這里

你不應該強迫自己Invalidate()。 我假設你在控制中做了一些自定義繪畫? 在InitializeComponent()之后的構造函數中; 你有

    SetStyle(ControlStyles.UserPaint, true);
    SetStyle(ControlStyles.AllPaintingInWmPaint, true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM