开发者

drawing a string on the screen C#

开发者 https://www.devze.com 2023-01-23 06:52 出处:网络
I would like to simply draw a string (if possible in a specific font and size) on the screen (at a specific location). I am within a C# windows forms application. Unfortunately, I could not found any

I would like to simply draw a string (if possible in a specific font and size) on the screen (at a specific location). I am within a C# windows forms application. Unfortunately, I could not found any hint on how to do this in the web.

Please开发者_高级运维 help!

Christian


To draw a string outside of your window, you'll have to CREATE a new window, set it's mask to some color (say magenta) and then draw text onto it - you can use simple label here.

Set your window border style to None, and there you go.

In other words, there is no way of displaying 'free text' without window attached.

For masking color, use 'transparency color' or similar property (I will look up into it later - have no VS at hand)


doing what you are asking for is not really recommended, see e.g. Link

If you really want to do something like this; here is a creepy way to do it:

    [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);
    }

Please note that I DON'T recommend anyone doing this as I don't think applications should be doing stuff like this. If you want to draw something you should do it on your own form/controls.


Check this out.

Or may be you are looking for DrawString method

Hope this will help

0

精彩评论

暂无评论...
验证码 换一张
取 消