i saw some similar questions on the site but none of them really helped me.
I have a function that draws a few lines on the form when a button is clicked that vary in shape depending on the values the user enters in some textboxes.
My problem is that when i minimize the form, the lines disappear and i understood that this can be resolved by using the OnPaint event, but i don't really understand how.
Can anyone give me a simple example of using a function to draw something at the push of a button using the OnPaint event?
Here you go, simpe MSDN tutorial on User-Drawn Controls
You must inherit Button
class and override OnPaint method.
Code example:
protected override void OnPaint(PaintEventArgs pe)
{
// Call the OnPaint method of the base class.
base.OnPaint(pe);
// Declare and instantiate a new pen.
System.Drawing.Pen myPen = new System.Drawing.Pen(Color.Aqua);
// Draw an aqua rectangle in the rectangle represented by the control.
pe.Graphics.DrawRectangle(myPen, new Rectangle(this.Location,
this.Size));
}
EDIT:
Add property to your class and like public Color MyFancyTextColor {get;set;}
and use it in your OnPaint
method. Alsow it will apear in control property editor of visual studio form designer.