This is a solution I created in one of my projects.
Create a public method on each of the MDI childs.
In that method, clear all controls and recall InitializeComponent and then recall the forms load event.
Like so:
Public Function ReloadForm() As Boolean
Try
Me.Hide()
Me.Controls.Clear()
InitializeComponent()
Form1_Load(Form, New System.EventArgs)
Me.Show()
Catch ex As Exception
Return False
End Try
Return True
End Function
You can call that method from any other form:
If Not Form1.ReloadForm() Then
MessageBox.Show("Failure to reload form","Minor error", .......)
End If