рисование строки на экране C # - PullRequest
2 голосов
/ 02 ноября 2010

Я хотел бы просто нарисовать строку (если это возможно с определенным шрифтом и размером) на экране (в определенном месте).Я нахожусь в приложении C # Windows Forms.К сожалению, я не смог найти подсказки о том, как это сделать в Интернете.

Пожалуйста, помогите!

Кристиан

Ответы [ 3 ]

3 голосов
/ 02 ноября 2010

Чтобы нарисовать строку за пределами вашего окна, вам нужно СОЗДАТЬ новое окно, установить для его маски какой-нибудь цвет (скажем, пурпурный), а затем нарисовать на нем текст - вы можете использовать простую метку здесь.

Установите стиль рамки окна на Нет, и все.

Другими словами, невозможно отобразить «свободный текст» без прикрепленного окна.

Для маскировки цвета используйте «цвет прозрачности» или аналогичное свойство (я рассмотрю его позже - VS не будет под рукой)

2 голосов
/ 02 ноября 2010

делать то, что вы просите, на самом деле не рекомендуется, см., Например, 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);
    }

Обратите внимание, что я НЕ рекомендую никому делать это, поскольку я не думаю, что приложения должны делать подобные вещи.Если вы хотите нарисовать что-то, вы должны сделать это в своей форме / элементах управления.

0 голосов
/ 02 ноября 2010

Проверьте это из.

Или, может быть, вы ищете DrawString метод

Надеюсь, это поможет

...