我们可以在表格之外绘制图像和绘制文本吗……我的意思是在外面……
我知道要问这个问题很愚蠢,但是我们可以...
您可以通过创建表单并将其 TransparentColor 属性设置为其背景颜色来“作弊”,然后在其上绘制。但是,这会禁止您绘制透明颜色,因为它不会显示。
或者您实际上可以直接绘制到桌面。
[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]
public static extern void ReleaseDC(IntPtr dc);
IntPtr desktopPtr = GetDC(IntPtr.Zero);
Graphics g = Graphics.FromHdc(desktopPtr);
// Do graphics manipulation here with "g" object
// Very important - free desktop graphics.
g.Dispose();
ReleaseDC(desktopPtr);
你不能利用不存在的东西。根据该定义,表单之外的区域不存在于表单的上下文中。
不过,我同意 Henk 的观点,你可以使用透明的表格。