I have a button on MainForm whose button click event creates a ChildForm and shows. While ChildForm is shown, i can invoke any menu commands (each menu command is implemented to show a message box) which are defined on MainForm without any issues.
BUT, on other hand, I kept all the code as is and override OnPaint method of ChildForm with this.Invalidate() as shown below
protected override void OnPaint(PaintEventArgs e)
{
this.Invalidate();
base.OnPaint(e);
}
Can anyone put some light on what went wrong with overriding OnPaint method which executes this.Invalidate() line everytime and suggest how can I resolve this issue.
Pravesh Singh
24-Sep-2013You called Invalidate() which will fire OnPaint, OnPaint calls Invalidate() and again ... that's a loop of calling Invalidate() and OnPaint -> Your UI is frozen.
The solution is you have to make it more clear on what you want and your purpose of overriding OnPaint here.