【问题标题】:UserControl OnPaint always has clipRect of {0,0,0,0}UserControl OnPaint 的 clipRect 始终为 {0,0,0,0}
【发布时间】:2009-09-25 22:42:03
【问题描述】:

我有一个带有几个按钮的 UserControl。我想覆盖 OnPaint 并在控件上绘制一些其他内容。

所以我重写了 OnPaint。

每当调用 OnPaint 时,ClipRectangle 始终为 {0,0,0,0},因此我所做的任何操作都不会绘制在控件上。

我做错了什么?

【问题讨论】:

  • 你能展示你写的代码吗?并且可能会解释一下您正在尝试做的事情。

标签: c# user-controls


【解决方案1】:

好的,我已经猜到了。它有点傻。我有一个停靠在控件上的 TableLayoutPanel。这似乎将我们可以绘制的所有区域都剪掉了。

我创建了一个派生自 TableLayoutPanel 的新控件,并改为使用该控件。它的 OnPaint 获得完整的剪辑矩形。

但是,无论如何,这没有任何用处……看来我误解了 Windows 绘画的工作原理。我以为我可以直接在控件的顶部进行绘画,但事实并非如此。控件被放置在我的绘画之上。

我想我得弄乱面板才能让它工作..

【讨论】:

    猜你喜欢
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多