如何在C#中调试GDI+?

3

我有一个用户控件,它的绘制不正确,如何调试绘制过程? 如果我设置断点,控件将被阻塞,我无法立即看到绘制结果? 有什么想法吗?

2个回答

4

3
最好使用多个显示器来调试绘图活动,但如果您只有一个显示器,还有一些其他的方法可以帮助您。
1. 重新定位您的IDE(Visual Studio),使其不重叠。不幸的是,如果您需要对控件进行活动焦点,这可能无法帮助您。 2. 将第二份副本绘制到位图中,并将其写入磁盘或在对话框或其他窗口中重新显示它。这需要一些额外的工作,但在概念上与记录日志相同。 3. 更改绘图代码,使某些元素或某些元素的某些部分仅在按下某些键(左Shift /右Shift,Ctrl,Alt或这些键的某种组合)时才绘制。这很容易添加,可以让您过滤掉那些难以通过调试器步进的代码部分。
以下是可以为您提供状态的函数(需要p / invoke)和来自pinvoke.net的签名。

GetKeyState函数 @ MSDN
pinvoke.net:GetKeyState(user32)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接