PDA

View Full Version : سوال: در ساختن رویداد یک دکمه روی یک فرم با کد نویسی مشکل دارم



war1351
یک شنبه 30 تیر 1387, 01:25 صبح
در ساختن رویداد یک دکمه روی یک فرم با کد نویسی مشکل دارم
میخوام یک فرم بسازم که مثلا دو تا دکمه داشته باشه که با زدن هر کدام یه کاری انجام بده
البته با کد نویسی
من یه ماژول برای این کار نوشتم به شرح زیر :



Module Mo1
Public Function Msg1() As Byte
Dim sx As New Form
Dim btnYes, btnNo As New Button
btnYes.Parent = sx
btnNo.Parent = sx
sx.Width = 469
sx.Height = 161
sx.StartPosition = FormStartPosition.CenterParent
btnYes.Location = New Point(315, 92)
btnNo.Location = New Point(145, 92)
btnYes.Text = "بلی "
btnNo.Text = "خیر"
sx.BackColor = Color.Beige
sx.ShowDialog()
Return 0
End Function
Private Sub BtnYes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Handles
MsgBox("Yes")
End Sub

' Private Sub BtnNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNo.Click
' End
' End Sub
End Module

اما مشکل من نوشتن رویداد مثلا باتن BtnYes است کد بالا برای رویداد این کلید اشتباه است لطفا کمکم کنید

DarkSoroush
یک شنبه 30 تیر 1387, 02:14 صبح
برای این کار باید از دستور AddHandler بعد از تعریف کلیدها در همون تابع اصلیتون استفاده کنید. مثلا من کد شما رو اینطوری باز نویسی میکنم:


Sub Main()
Dim f_main As New Form
Dim b_first As New Button
Dim b_second As New Button
f_main.Controls.Add(b_first)
f_main.Controls.Add(b_second)
b_first.Location = New Point(10, 10)
b_second.Location = New Point(50, 50)
b_first.Text = "BUT1"
b_second.Text = "BUT2"
AddHandler b_first.Click, AddressOf But1_Click
AddHandler b_second.Click, AddressOf But2_Click
f_main.Show()
End Sub

Private Sub But1_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("BUT 1 CLICKED")
End Sub
Private Sub But2_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("BUT 2 CLICKED")
End Sub

war1351
یک شنبه 30 تیر 1387, 10:20 صبح
DarkSoroush عزیز خیلی خیلی ممنونم از لطف شما دمت گرم درست شد .