代码之家  ›  专栏  ›  技术社区  ›  Christian

在屏幕C上绘制字符串#

  •  2
  • Christian  · 技术社区  · 14 年前

    我只想在屏幕上(在特定位置)画一个字符串(如果可能的话,用特定的字体和大小)。我在一个C Windows窗体应用程序中。不幸的是,我在网上找不到任何关于如何做到这一点的提示。

    请帮忙!

    基督教的

    3 回复  |  直到 14 年前
        1
  •  3
  •   Daniel MoÅ¡mondor    14 年前

    要在窗口外绘制一个字符串,您必须创建一个新窗口,将其蒙版设置为某种颜色(例如洋红色),然后在上面绘制文本-您可以在这里使用简单的标签。

    将窗口边框样式设置为“无”,就可以了。

    换句话说,没有附加窗口就无法显示“自由文本”。

    对于遮罩颜色,请使用“透明度颜色”或类似属性(稍后我将查看它-手边没有vs)

        2
  •  2
  •   Mikael    14 年前

    不建议您按照自己的要求来做,例如 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);
        }
    

    请注意,我不建议任何人这样做,因为我认为应用程序不应该这样做。如果你想画一些东西,你应该在你自己的窗体/控件上画。

        3
  •  0
  •   priyanka.sarkar    14 年前

    检查 this 出来。

    或者你在找 DrawString 方法

    希望这会有帮助