PDA

View Full Version : رویداد برای کنترل های آرایه ای



modirmasool
سه شنبه 09 شهریور 1389, 17:47 عصر
سلام دوستان.

من اینطوری در زمان اجرا کنترل اضافه می کنم:


For I = 0 To 8

Dim p As New Button

p.Width = Me.Width / 3
p.Height = Me.Height / 3


p.Name = "btn" & I.ToString

Me.Controls.Add(p)

Next
حالا چطور باید برای رویداد کلیک شون کد بنویسم؟
ممنون.

sinaone1
سه شنبه 09 شهریور 1389, 19:35 عصر
خیلی سادست بعد از اینکه کنترلت رو Add کردی زیر اون این دستور رو بنویس



'=========================
AddHandler btn.Click, AddressOf onclick 'Set the Control Event With Its Sub
'=======================

که btn نام کنترلت است و btn.Click نام رویدادی که رخ میده و onclick هم sub هست که خودت برای اون رویداد باید تعریف کنی مثال



'=======================
'Click Event Button
Overloads Sub onclick(ByVal sender As Object, ByVal e As EventArgs)
MsgBox("You Name Control :" & CType(sender, Button).Name)
MsgBox("You Text Control :" & CType(sender, Button).Text)
End Sub
'=======================

modirmasool
سه شنبه 09 شهریور 1389, 20:34 عصر
خیلی ممنون.

این دستور Overloads کارش چیه؟ در موزد AddressOf هم اگه توضیح بدین واقعا ممنون میشم.

Saman_12
سه شنبه 09 شهریور 1389, 21:20 عصر
خیلی ممنون.

این دستور Overloads کارش چیه؟ در موزد AddressOf هم اگه توضیح بدین واقعا ممنون میشم.
سلام.
تا اون جایی که من می دونم Overloads یک دستور برای به اشتراک گذاشت این فانکشن یا Sub توی کلاس های دیگه هست.(جالب این جاست که اسمش هم اینو میگه.)

اما AddressOf این دستور با دستور قبلش که همون AddHandler هست به کار می ره و کارش هم اینه که آدرس یک Sub رو توی کلاس بر می گردونه.