Category / Section
Why does my application crash upon closing, if I had previously closed a model child form which contains WinForms Docking Manager?
1 min read
Docking event
This crash will occur only if we had closed a child form which was called by using ShowDialog method. The reason is that ,when we close a form which was called by ShowDialog method,it's Dispose method will not get called.In this sutuation when we close main form, the application will crash.
The workaround is to dispose the docking manager explicitly in the Form_Closing event handler of child form.
C#
// Form's Closing event handler private void ChildForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { dockingManager1.Dispose(); }
VB
' Form's Closing event handler Private Sub ChildForm_Closing(sender as object ,e as System.ComponentModel.CancelEventArgs) handles ChildForm.Closing dockingManager1.Dispose() End Sub