DotNet的确不直接支持SetROP2()的作图方式,因为GDI+本身也不支持SetROP2()。GDI+不支持SetROP2的一个原因是GDI+可能被用于与打印机有关的一些操作上。因此,对于复杂的作图操作,最终仍然需要使用[DllImport("gdi32.dll")]来引入SetROP2(当然事先还要引入user32的GetDC函数)。对于一些简单的XOR作图,你可以考虑用System.Windows.Forms.ControlPaint类的一些函数作为替代方法,如FillReversibleRectangle,DrawReversibleLine,DrawReversibleFrame等。事实上,如果用反编译器查看这几个方法的实现就可以发现,他们在实现时调用了SetROP2()。下面这个地址的文章就是关于如何在C#中实现橡皮筋矩形的方法和代码:"http://support.microsoft.com/default.aspx?scid=kb;en-us;Q314945"
Hogwarts - S(u)ddenly dis@ppeared...

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。