form.show()可以用来传参到新窗体load事件中吗?该如何处理

form.show()可以用来传参到新窗体load事件中吗?
form1:
VB.NET code

Private Sub testsub(ByVal s As String)
        Form2.ShowDialog(ME, "test")
    End Sub



form2:

如题, 比如在form1中form2.show(),show()默认可以接收一个form类型的值表示所有者,有没办法在form2中写点什么让它可以额外接收一个字符串类型的值,然后在form2_load中赋值给其他变量

不能用public传参进去,因为我会在form1中开多线程同时show出多个form2,用public的话无法区分是要传给哪个线程show出的form2

------解决方案--------------------
1. 自己继承一个form,然后overload那个show()/showdialog()
2. 在form2里开个“中转”string的sub,比如:
VB.NET code

Public Class Form2
    Dim theMsg As String

    'Show的话
    Sub GiveMeMsg(ByVal Msg As String)
        theMsg = Msg
        Me.Show()
    End Sub

    'ShowDialog的话
    Sub GiveMeMsg(ByVal Msg As String, ByVal OwnerForm As Form)
        theMsg = Msg
        Me.ShowDialog(OwnerForm)
    End Sub
End Class