首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何挂起OnPaint方法

如何挂起OnPaint方法
EN

Stack Overflow用户
提问于 2016-02-03 03:30:45
回答 1查看 216关注 0票数 0

我有一个继承WinForms ListBox类的自定义列表框,如下所示。

代码语言:javascript
复制
  public class UserListBox : ListBox
  {        
     protected override void OnPaint(PaintEventArgs e)
     {
         // Omitted for brevity...
     }
  }

我在这个ListBox上添加了一个过滤器(就像GridView控件的DefaultView一样),但是当我更改项时,不管调用OnPaint方法。我不能调用其他方法,比如remove。

我测试SendMessage WM_SETREDRAW来挂起更新,但这不起作用。

如何挂起对OnPaint方法的调用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 03:47:29

原始

我不知道你为什么会想要这么做,但这是可能的。使用WinForms,您实际上可以将P/Invoke转换为一些本机调用,并尝试管理类似于windows消息传递循环的内容。老实说,我建议尽量避免这样做。你想要完成什么?

如何挂起Control.OnPaint方法?

按照这个链接来查看一个示例。

更新

根据MSDN文档,您的操作是正确的。你能提供一些更多的源代码让我可以再看一看吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35167979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档