PDA

View Full Version : مشکل در AddHandler



Ehsan Rafsanjani
سه شنبه 22 آذر 1384, 12:22 عصر
مشکل در AddHandler
توی صفحه من یک کلید وجود داره که باید با کلیک اون یک کلید دیگه توی صفحه بوجود بیاد
کد زیر رو براش نوشتم:


Dim bt1
As Button

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

bt1 = New Button
bt1.Text = "ehsna"
AddHandler bt1.Command, AddressOf test1

PlaceHoder1.Controls.Add(bt1)
End Sub


Sub test1(ByVal s As System.Object, ByVal e As CommandEventArgs)
.
.
.
.
End
Sub
حالا مشکل من این جاست که وقتی Button1 کلیک می شود و bt1 نمایش داده میشه
1 روال test1 اجرا نمی شه
2 بعد از کلیک دوباره صفحه بدون bt1 لود میشه


* این در حالی که اگر کدهای بوجود آمدن کلید جدید رو در روال PageLoad قرار بدیم مشکل حل میشه ولی من میخوام با کلیک کردن Button1 این کار رو انجام بدم
اگه کسی از دوستان بتونه کمکم کنه و نمونه کد صحیح رو برام بزاره خیلی ممنون میشم

vbapr2005
پنج شنبه 24 آذر 1384, 02:06 صبح
سلام
اولا لطفا وقتی میخوای کد بنویسی بعد از این که کدی رو که نوشتی Paste کردی، همه اش رو select بکن و بعد روی دکمه ی code کلیک کن تا به صورت کد نوشته بشه

راستش رو بخوای من نمدونم چجوری تو runtime باید یه کنترل رو اضافه کرد اما فکر می کنم که مشکلاتی که تو داری بر اساس یه کم بی دقتی هستن:

تو این خط Private/Public رو ننوشتی:

Sub test1(ByVal s As System.Object, ByVal e As CommandEventArgs)

2 بعد از کلیک دوباره صفحه بدون bt1 لود میشه
این یکی که دیگه معلومه:
خب این کد رو باید تو MyBase.Load هم بنویسی (یعنی بعد از handles که نوشته button1.click اینو به راحتی اضافه کنی:

... handles Button1.Click, MyBase.Load

امیدوارم تونسته باشم مشکلت رو حل کمنم

مرتضی دولتخواه
شنبه 03 دی 1384, 13:09 عصر
با سلام
بله مسله اینجاست که شما اون رو به رویدادها حساس نکردی. بر به این تاپیک شاید منظورت همین باشه.
http://www.barnamenevis.org/forum/showthread.php?t=33385&highlight=runtime