【发布时间】:2011-03-16 21:14:12
【问题描述】:
我正在控制 OnPaint。有时,我的控件会因剪切矩形 (e.ClipRectangle) 而失效,该矩形小于控件的大小。
在我的OnPaint 方法中,当我绘制到 GDI+ 表面(来自PaintEventArgs 的Graphics 对象)时,我会相对于ClipRectangle 还是相对于控件开始?
例如,假设我的控件是 800 x 600 像素。如果我打电话:
Invalidate(new Rectangle(42, 0, 100, 600));
然后在OnPaint我画了一个字符串:
e.Graphics.DrawString("Don't panic.", new Font("Arial", 12), new Brush(Color.Red), 0, 0);
字符串会显示在我的控件左侧,还是距离左侧 42 像素?
【问题讨论】:
-
看起来这很容易测试,不是吗?
-
是的,但我在输入完问题后才意识到:)
标签: c# .net winforms gdi+ system.drawing