PDA

View Full Version : نمونه گیری از کمبو باکس در کمبو باکس در فرمی دیگر



farhad5487
دوشنبه 25 اردیبهشت 1391, 19:05 عصر
سلام من دوتا فرم دارم که در فرم اولی یک کمبو باکس هست که کد ها خیلی زیادری داره
در فورم 2 یک کمبو باکس هست
میشه با تغییر دادن ایتم ها در کمبو باکس در فورم 2 همان کار های کمبو باکس در فورم 1 را تلقید و اجرا کنه ؟

فرید نجفلو
دوشنبه 25 اردیبهشت 1391, 19:35 عصر
سلام دوست عزیز
دو روش برای این کار پیشنهاد می کنم
یاد تون باشه در هر دو روش باید از sender استفاده کنید نه دسترسی با نام (داخل کد نحوه استفاده رو نوشتم)
به تعریف شدن گرداننده ها به صورت Public دقت کنید
البته روش استفاده از ماژوال رو بیشتر توصیه می کنم

Module Module1
Public Sub ComboBox_SelectedIndexChanged(sender As System.Object, e As System.EventArgs)
Dim cmb = CType(sender, ComboBox)
MsgBox("the ComboBox With Name " & cmb.Name & " In " & _
cmb.FindForm.Name & " Raised SelectedIndexChanged Event " & vbNewLine & _
"And Handeled In Module1")
End Sub
End Module


Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.ComboBox1.Items.AddRange({1, 2, 3, 4})
AddHandler Me.ComboBox1.SelectedIndexChanged, AddressOf ComboBox_SelectedIndexChanged
AddHandler Me.ComboBox1.DropDownClosed, AddressOf ComboBox1_DropDownClosed
Form2.Show()
End Sub
Public Sub ComboBox1_DropDownClosed(sender As Object, e As System.EventArgs)
Dim cmb = CType(sender, ComboBox)
MsgBox("the ComboBox With Name " & cmb.Name & " In " & _
cmb.FindForm.Name & " Raised DropDownClosed Event " & vbNewLine & _
"And Handeled In Form1")
End Sub
End Class


Public Class Form2
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.ComboBox1.Items.AddRange({"A", "B", "C", "D"})
AddHandler Me.ComboBox1.SelectedIndexChanged, AddressOf ComboBox_SelectedIndexChanged
AddHandler Me.ComboBox1.DropDownClosed, AddressOf Form1.ComboBox1_DropDownClosed
End Sub
End Class