You might be making this more difficult than it needs to be. Try this approach:
1.) Take the code that is currently in your form_load event and create a procedure from it. Remove everything from your form_load event except a call to your new procedure.
2.) Take the code that is currently handling the data/save tasks in your button_click event and create a procedure from it. Remove everything from the button_click event except a call to your new data/save procedure and your procedure from #1 above.
As a general rule I implement procedures/functions from event code (form_load, button_click, etc.) rather than writing code directly into those events. That way if I need to reuse a portion of code all I have to do is call that procedure again.
Clear as mud? Here is an example:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Me.subLoadData() '* This procedure clears and resets data.
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call Me.subSaveData() '* I'm saving the data here.
Call Me.subLoadData() '* I'm resetting the form here.
End Sub
Best Regards,
Earl Francis