Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Windows Forms / WinForm General / March 2008

Tip: Looking for answers? Try searching our database.

Simple question

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Gregory Khra - 18 Mar 2008 23:23 GMT
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
are defined at design time and I don't paint them)
Bob Powell [MVP] - 20 Mar 2008 06:49 GMT
You can draw the string directly onto the desktop...

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

>      [DllImport("User32.dll")]
>
[quoted text clipped - 5 lines]
>
>     public static extern void ReleaseDC(IntPtr dc);

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

Signature

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.

> I need to draw a text string on the form. In order to do it I create Paint
> event handler and place  a command
[quoted text clipped - 3 lines]
> How can I make the string appear on top of other controls? (other controls
> are defined at design time and I don't paint them)
Gregory Khra - 21 Mar 2008 14:23 GMT
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?
Gregory

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.