Chris Anderson discusses how to implement a custom layout engine and gives sample code in an article on gotnetdot.com.
PermalinkCategory
Chris Anderson discusses how to implement a custom layout engine and gives sample code in an article on gotnetdot.com.
PermalinkShawn Burke suggested this solution in a response on the microsoft.public.dotnet.framework.windowsforms newsgroup. The idea is to do the painting on Idle. This means you simple invalidate when being sized and then do your full paint when the size completes. Here is the code that you would add to your form.
bool idleHooked = false;
protected override void OnResize(EventArgs e)
{
if (!idleHooked)
{
Application.Idle += new EventHandler(OnIdle);
}
}
private void OnIdle(object s, EventArgs e)
{
Invalidate();
PerformLayout();
if (idleHooked)
{
Application.Idle -= new EventHandler(OnIdle);
}
}
PermalinkIn addition to setting the Location property of the form, make sure you also set the StartPosition property of the form to FormStartPosition.Manual.
Permalink