Putting text into an image control

Putting text into an image control

How do I put data (text) into an image control?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to provide a unique online resource for developers, architects and development managers tasked with building and maintaining enterprise applications using Visual Basic, C# and the Microsoft .NET platform.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchWinDevelopment.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchWinDevelopment.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

If you mean the System.Windows.Forms.PictureBox class for Windows Forms applications, it's as easy as overriding the Paint event for the control and invoking the DrawString method on the PaintEventArgs Graphics member. For example:
       private void pictureBox1_Paint(object sender, 
System.Windows.Forms.PaintEventArgs e)
        {
            e.Graphics.DrawString("Foo", 
new System.Drawing.Font("Courier", 12), 
System.Drawing.Brushes.Black, 
(float)0.0, (float)0.0);
        }
If you mean the System.Web.UI.WebControls.Image class for Web Forms applications, the only thing you can really do is specify an alternate text string and not set a valid URL for the ImageUrl property. Of course, you can always create an image file on the fly using the .NET drawing routines and then render that dynamically generated image file by specifying it as the ImageUrl property of the Image control. Jeff Prosise's Wicked Code column in MSDN Magazine August 2002 issues shows how to do this.

This was first published in May 2004