سلام.
فرض كنيم كه شما مي خواهيد در Form1 با زده شدن يك دكمه Form2نمايش داده شود و بعد از بسته شدن Form2 يك مقدار برگردانده شود. براي اينكار بايد از كدي شبيه كد زير استفاده كنيد :
Public Class Form2
Private GloablVar As String
Sub DataGridView1_Click(sender as object,.....) Handles DataGridView1_Click
Me.GlobalVar = Me.DataGridView1.CurrentCell.Value
Me.Close()
End Sub
Function ReturnSomeValue() as string
Me.ShowDialog()
Return Me.GlobalVar
End Function
End Class
Public Class Form1()
Sub BtnBrowse_Click(sender as object,.....) handles ....
Dim F2 as new form2
Me.Textbox1.Text = F2.ReturnSomeValue()
End Sub
End Class
وقتي كه BtnBrowse كليك بشه پروسه ReturnSomeValueفراخواني ميشه. و بعد از اينكه فرم نمايش داده شد تابع منتظر ميمونه تا فرم بسته بشه (ShowDialog) و بعد از اون مقدار GlobalVar رو بر ميگردونه.
مثلا فرض كردم كه Form1 فرم فروشه كه شما با زدن BtnBrowseاز Form2 تقاصاي يك كد كالا رو مي كنيد و فرم2 كه يك DataGridView شامل كدهاي كالا داره نمايش داده ميشه و كاربر با كليك روي اون مقدارش رو به TextBox1در Form1 مياره.