我想在屏幕上(在特定位置)简单地绘制一个字符串(如果可能的话,以特定的字体和大小)。我在C#windows窗体应用程序中。不幸的是,我无法在网上找到任何关于如何做到这一点的提示。
请帮忙!
基督教
答案 0 :(得分:3)
要在窗口外绘制一个字符串,你必须创建一个新窗口,将它的掩码设置为某种颜色(比如洋红色),然后在其上绘制文本 - 你可以在这里使用简单的标签。
将窗口边框样式设置为“无”,然后就可以了。
换句话说,如果没有附加窗口,就无法显示“自由文本”。
对于遮罩颜色,请使用“透明度颜色”或类似属性(我稍后会查看它 - 手头没有VS)
答案 1 :(得分:2)
不是真的建议做你要求的,参见例如http://blogs.msdn.com/b/greg_schechter/archive/2006/05/02/588934.aspx
如果你真的想做这样的事情;这是一个令人毛骨悚然的方式:
[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]
public static extern void ReleaseDC(IntPtr dc);
protected override void OnPaint(PaintEventArgs e)
{
IntPtr desktopDC = GetDC(IntPtr.Zero);
Graphics g = Graphics.FromHdc(desktopDC);
g.DrawString("Test", new Font(FontFamily.GenericSerif, 12), Brushes.Blue, 300, 300);
g.Dispose();
ReleaseDC(desktopDC);
}
请注意,我不建议任何人这样做,因为我不认为应用程序应该做这样的事情。如果你想画一些东西,你应该在你自己的表格/控件上做。
答案 2 :(得分:0)