繁体   English   中英

Winform客户列表框如何暂停OnPaint方法

[英]Winform Customer ListBox How to Suspend OnPaint method

我有一个自定义列表框,它继承了WinForms ListBox类。

  public class UserListBox : ListBox
  {        
     protected override void OnPaint(PaintEventArgs e)
     {
         // Omitted for brevity...
     }
  }

我在此ListBox上添加了一个筛选器(就像GridView控件的DefaultView一样),但是当我更改项目时,无论如何都会调用OnPaint方法。 我无法调用其他方法,例如remove。

我测试了SendMessage WM_SETREDRAW来暂停更新,但是这不起作用。

如何暂停对OnPaint方法的调用?

原版的

我不确定您为什么会真正想这样做,但是有可能。 使用WinForms您实际上可以P / Invoke进行一些本机调用,并尝试管理Windows消息传递循环之类的事情。 老实说,我建议您尝试避免这样做。 您要完成什么?

如何挂起Control.OnPaint方法?

点击此链接可以查看示例。

更新资料

根据MSDN文档,您做得正确。 您能否提供更多源代码,以便让我再看看?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM