PDA

View Full Version : اضافه کردن Event بصورت Runtime



sohrab o
دوشنبه 25 مرداد 1389, 20:51 عصر
با سلام
من در این نمونه برنامه که Upload کردم تعدادی شی رو بصورت Runtime ایجاد کردم
حالا چطوری می تونم واسه اونا Event بنویسم؟
لطفا فایل نمونه را دریافت کنید تا کامل متوجه سوال بشید
با تشکر

sohrab o
دوشنبه 25 مرداد 1389, 20:55 عصر
دوستان اینو تو سایت پیدا کردم
http://barnamenevis.org/forum/showthread.php?t=159047&highlight=Event
اما منظور من این نیست. کنترل های من بصورت Control Array هستند

parselearn
سه شنبه 26 مرداد 1389, 03:32 صبح
سوال شما اينجا هم پرسيده شده
ولي به جوابي نرسيدن
http://visual-basic.itags.org/visual-basic/21298/
:vb.net
http://bytes.com/topic/visual-basic-net/answers/336555-handling-mousedown-dynamic-pictureboxes
(http://bytes.com/topic/visual-basic-net/answers/336555-handling-mousedown-dynamic-pictureboxes)

sohrab o
چهارشنبه 27 مرداد 1389, 14:06 عصر
سوال شما اينجا هم پرسيده شده
ولي به جوابي نرسيدن
http://visual-basic.itags.org/visual-basic/21298/
:vb.net
http://bytes.com/topic/visual-basic-net/answers/336555-handling-mousedown-dynamic-pictureboxes
(http://bytes.com/topic/visual-basic-net/answers/336555-handling-mousedown-dynamic-pictureboxes)

آره خوب
گفتم شاید اساتید ایرانی بلد باشن

M.T.P
چهارشنبه 27 مرداد 1389, 14:57 عصر
آره خوب
گفتم شاید اساتید ایرانی بلد باشن
بنده جزء اساتید نیستم اما میتونم کارتون رو راه بندازم: :لبخند: :چشمک:


Private WithEvents CmdButton As OptionButton


Private Sub Form_Load()
Dim i As Integer
Set CmdButton = Me.Controls.Add("VB.OptionButton", "cmdButton")
With CmdButton
.Move 100, 100, 700, 500
.Caption = "Hello"
.Visible = True
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set CmdButton = Nothing
End Sub

Private Sub cmdButton_Click()
MsgBox "A"
End Sub

vbhamed
چهارشنبه 27 مرداد 1389, 15:30 عصر
سلام

خب شما چرا خودتون رو اذيت مي كنيد
يك دونه كنترل با عنوان Option0 با انديس 0 رو فرم بزاريد و كد زير رو بنويسيد


Private Sub Form_Load()

Dim i%
For i = 1 To 9
Load Option1(i)
With Option1(i)
.Caption = "Option " & i
.Top = i * 300
.Visible = True
End With
Next

End Sub

Private Sub Option1_Click(Index As Integer)

MsgBox Index

End Sub

sohrab o
پنج شنبه 28 مرداد 1389, 01:59 صبح
بنده جزء اساتید نیستم اما میتونم کارتون رو راه بندازم: :لبخند: :چشمک:


Private WithEvents CmdButton As OptionButton


Private Sub Form_Load()
Dim i As Integer
Set CmdButton = Me.Controls.Add("VB.OptionButton", "cmdButton")
With CmdButton
.Move 100, 100, 700, 500
.Caption = "Hello"
.Visible = True
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set CmdButton = Nothing
End Sub

Private Sub cmdButton_Click()
MsgBox "A"
End Sub


دوست عزیز شما از نظر بنده استادی
اما لطفا فایل ضمینه (زمینه) رو دانلود کن آخه من دقیقا همین کارو کردم و جواب میده اما یه روش دیگه می خوام. می خوام کنترلم از نوع Control Array باشه

sohrab o
پنج شنبه 28 مرداد 1389, 02:00 صبح
سلام

خب شما چرا خودتون رو اذيت مي كنيد
يك دونه كنترل با عنوان Option0 با انديس 0 رو فرم بزاريد و كد زير رو بنويسيد


Private Sub Form_Load()

Dim i%
For i = 1 To 9
Load Option1(i)
With Option1(i)
.Caption = "Option " & i
.Top = i * 300
.Visible = True
End With
Next

End Sub

Private Sub Option1_Click(Index As Integer)

MsgBox Index

End Sub


سلام استاد
آره همین کارو کردم مثل اینکه روش دیگه ای وجود نداشت
اما نمی دونم چرا به دلم نمی شینه
آخه من زیادی رو کدام حساسم

vbhamed
جمعه 29 مرداد 1389, 00:52 صبح
سلام

از اون روش هم ميشه
در حقيقت استفاده از كلاس و نوعي ارث بري لازمه
يعني يك كلاس تعريف كني و در كلاس دوم آرايه اي از كلاس اول رو داشته باشي اما نه آرايه اي
يكم كه نه، خيلي پيچيده ميشه اما قابل انجام هستش
ولي به نظر من اين لقمه دور سر چرخوندن هست

sohrab o
شنبه 30 مرداد 1389, 10:24 صبح
سلام

از اون روش هم ميشه
در حقيقت استفاده از كلاس و نوعي ارث بري لازمه
يعني يك كلاس تعريف كني و در كلاس دوم آرايه اي از كلاس اول رو داشته باشي اما نه آرايه اي
يكم كه نه، خيلي پيچيده ميشه اما قابل انجام هستش
ولي به نظر من اين لقمه دور سر چرخوندن هست

ممنون که جواب دادی استاد
اگر لطف کنید و نمونه ای ارسال نمایید بسیار متشکر میشم
بازم مرسی