Click here to Skip to main content
15,885,546 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
VB
frm.MdiParent = MDIMain
            frm.WindowState = FormWindowState.Maximized
           frm.Show()

I have used the above code to open a form in a mdiparent in a Maximized view While opening the child form flickering. How can I avoid flickering when Maximized Child Forms
Posted
Comments
Sergey Alexandrovich Kryukov 10-Oct-14 1:44am    
It all depends on form content. Usually, double buffering helps. The idea to use MDI is bad.
—SA
Moses Geo 10-Oct-14 3:15am    
How to use double buffering or what is an alternative for MDI

1 solution

Moses Geo wrote:

How to use double buffering or what is an alternative for MDI
First, double buffering.

Do you understand why it highly reduce flicker? If not, I can explain, but it would take some effort.

This is how to enable it: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.doublebuffered(v=vs.110).aspx[^].

As to MDI, you can do much easier to implement design without it, with much better quality. MDI is highly discouraged even by Microsoft, in fact, Microsoft dropped it out of WPF and will hardly support it. More importantly, you will scare off all your users if you use MDI. Just don't. Please see:
http://en.wikipedia.org/wiki/Multiple_document_interface#Disadvantages[^],
How to Create MDI Parent Window in WPF?[^].

I can explain what to do instead. Please see my past answers:
How to Create MDI Parent Window in WPF? [Solution 2],
Question on using MDI windows in WPF[^],
MDIContainer giving error[^],
How to set child forms maximized, last childform minimized[^].

—SA
 
Share this answer
 
Comments
Moses Geo 10-Oct-14 10:31am    
thank you for your time
Sergey Alexandrovich Kryukov 10-Oct-14 11:14am    
You are very welcome.
Good luck, call again.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900