Public Sub Check()
If True Then
Application.Exit()
End If
End Sub
اینجا که کد خودتونه و من فقط End رو برداشتم چون اون کل برنامرو فورسکلوز میکمه. و من فقط برنامرو بستم.
Private Sub hd()
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf hd))
Else
Me.Hide()
End If
End Sub
در اینجا در خواست کنند رو چک کردم چون باید با نخ اصلی یا (Main Thread) کد Me.hide یا Me.Enabled = False به اون احتیاج داره.
If Me.InvokeRequired Then
اینجا چک میکنیم نخ اصلی اگه مشغوله و وقتی نیست چی کار کنه. (مقدار True مشغوله)
Me.Invoke(New MethodInvoker(AddressOf hd))
در اینجام ما با نخ اصلی درخواست و دباری انجام میدیم که اگه آرگومان داشتی این طوری هم میتونی بنویسیش.
Me.Invoke(New MethodInvoker(AddressOf hd), arg)
--------------------------------------------
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
hd()
MsgBox("TEST")
End Sub
در اینجام که گفتم موقع بسته شدن فرم (دقیقا قبل بسته شدن) فرامین انجام شن.