سلام دوستان
ميخواستم از اساتيد بپرسم اينadd handler و remove handler کردن ها به چه دردی ميخوره ؟!
کلاً يه توضيحی در مورد هندلر کردن بدين ممنون ميشم
سلام دوستان
ميخواستم از اساتيد بپرسم اينadd handler و remove handler کردن ها به چه دردی ميخوره ؟!
کلاً يه توضيحی در مورد هندلر کردن بدين ممنون ميشم
نیما کوچولو ، سوال خوبی پرسیدی
به زبان ساده بهت توضیح میدم. پس خوب گوش کن:
فرض کن شما یه برنامه داری مینویسی که در هنگام اجرا ( Run Time) میخوای یه button به برنامه ات اضافه کنی. خب معلومه که موقع اجرا نمیتونی یک button ار تولبار drag کنی و بکشی روی فرمت. درسته؟
پس تنها راه ممکن استفاده از کد می باشد.
برای این منظور ابتدا میای یک button تعریف میکنی.اینجوری:
dim button1 as new buttonخب تعریف کردی. حالا باید چیکار کنیم؟
ابتدا باید خصوصیات این button رو ست کنی. مثلا:button1.Text=some string
button1.size= some integer
button1. ... = some value
.
.
.
.
me.controls.add button1حالا میخوای که مثلا با کلیک کردن روی این button جدید ، عنوان فرمت عوض بشه. اگه برنامه رو اجرا کنی می بینی که با کلیک روی این button هیچ اتفاقی نمیافته.
اینجاست که handling حلال مشکلات است. یعنی چه؟ یعنی اینکه باید بیای هندل رویداد یا event مربوطه رو با این button ست کنی.
پس باید این کد رو در همون بخش ست کردن پراپرتیهای button اضافه کنی:addhandler button1.click,Addressof Button1_clickاین کد به button میفهمونه که وقتی کلیک شد باید چه خاکی به سرش بریزه
اما صبر کن. هنوز تموم نشده. این رویداد Button1_click دیگه چه صیغه ای هستش؟ خب، هنوز که کد مربوط به این رویداد رو ننوشتیم. باید زحمت نوشتنش رو هم خودمون متقبل بشیم.
پس یه روال جدید به نام Button1_click ایجاد میکنیم و کدهای مورد نظر خودمون رو توش مینویسم. چجوری؟
اینجوری:private sub Button1_click( byval Sender as system.object, byval e as system.eventargs)i
me.text= some text
end sub
این همه ماجرای مربوط به handling بود.
امیدوارم فهمیده باشی نیما کوچولوی من.
آها. خوب شد یادم اومد.
ممکنه جاهایی نیاز باشه که Button نمایش داده بشه ولی با کلیک روی اون هیچ اتقاقی نیافته. اینجا باید چیکار کنیم؟ خیلی ساده هست. هر جا خواستی رویداد کلیک هندل شده به Button1 رو بی اثر کنی این کد رو بنویس:removehandler button1.click,Addressof Button1_click
تبریک میگم. کار تموم شد.
Last edited by shalineh; 05-04-2008 at 17:51.
اِ اِ اِ اِ اِ اِ اِ اِ اين که همون هندله !! !! همون اول میگفتی !!!PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
مثل این :
مثل اینکه فهمیدم !
مرسی مامان سانلی !!!
سلام
میبخشید بی موقع مزاحم شدم !!!!
ولی میخواستم بگم که دستور Handles با WithEvents کار میکنه و جالب اینکه شاید ندونید ولی در اصل فقط در ذات دات نت Addhandler و RemoveHandler را داریم و کامپایلر VB به طرزی خاص و با کمی دوز و کلک دستورات حاوی Handles با WithEvents را به AddHandler و RemoveHandlewr سوییچ میدهد.
ممنون از توضيح جالبتون .شما سروری مراحمی اصلا اينجا متعلق به خودتونه ! اصلا شما ادمينی ! ...
وا اين ويبی هم چه باحاله تو سی شارپ ازين خبرا نيست ، همينه کشته مرده ی اين وی بی شديم ديگه !
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)