Рисовать / рисовать внешнюю форму - PullRequest
6 голосов
/ 31 июля 2010

Можем ли мы рисовать изображения и рисовать текст ... вне формы ... я имею в виду буквально снаружи ...

Я знаю, что задавать глупые вопросы, но МОЖЕМ ли мы ...

Ответы [ 2 ]

10 голосов
/ 31 июля 2010

Вы можете «обмануть», создав форму и установив для ее свойства 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);
1 голос
/ 31 июля 2010

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

Я согласен с Хенком, однако, вы можете рисовать на прозрачных формах.

...