all groups > dotnet windows forms > march 2008 >
You're in the

dotnet windows forms

group:

Simple question


Simple question Gregory Khra
3/18/2008 3:23:00 PM
dotnet windows forms:
I need to draw a text string on the form. In order to do it I create Paint
event handler and place a command
e.Graphics.DrawString(...)
Unfortunately if other controls on the form overlap with this string, they
hide it.
How can I make the string appear on top of other controls? (other controls
Re: Simple question Bob Powell [MVP]
3/20/2008 6:49:59 AM
You can draw the string directly onto the desktop...

You need to import the GetDC and ReleaseDC methods like so:

[quoted text, click to view]

then you can get the DC, greate a Graphics for it and draw on it..

IntPtr dc=GetDC(IntPtr.Zero);
Graphics g=Graphics.FromHdc(dc);

//draw on the desktop here, remembering to convert client pixels to
screen pixels

g.Dispose();
ReleaseDC(dc);


--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.





[quoted text, click to view]
Re: Simple question Gregory Khra
3/21/2008 6:23:04 AM
Your suggestion will probably help, but I was hoping there is more straight
forward way. All I need is to make my Paint handler execute after other
controls have been painted. Apparently by default it executes before. Is
there a way to change this order?
AddThis Social Bookmark Button