PDA

View Full Version : Button



سعید112
دوشنبه 07 خرداد 1386, 21:41 عصر
سلام خدمت اساتید محترم... با اجازه بزرگترها یه user control از button بصورت dll درست
کردم وبه راحتی به پروژه هام اضافه میشه ولی وقتی رویداد click رو داخل برنامه کدنویسی
میکنم به جای اون کدهای رویداد click داخل Dll اجرا میشه .
ممنون میشم راهنمائی کنید :متفکر:

saeed_rezaei
سه شنبه 08 خرداد 1386, 09:09 صبح
سلام
طبیعیه
هنگامی که یک user control می سازید، اگه برای هر رخدادی (مثل کلیک) کد نویسی کنید طبیعی که این کد اجرا می شه.
اگه چنانچه بخواید ترتیبی بدید که کد کاربر نیز اجرا بشه شما باید رخداد click رو آزاد کنید. برای این منظور باید در بالای فرم درست در قسمتی که متغیرهای سراسر رو تعریف می کنید این کد رو بنویسید.


Public Shadows Event Click(ByVal sender AsObject, ByVal e As System.EventArgs)


سپس در هر کجایی از برنامه که قصد دارید کدی رو که کاربر وارد کرده اجرا کنید باید دستور زیر رو بنویسید.



RaiseEvent click (sender,e)


اما دقت داشته باشید که هنگام اجرای این دستور باید دوپارامتر رو بهش بدید. بهترین محل برای فراخوانی این کد در تابع کلیک یک کنترل هست.
برای مثال فرض کنید یک کنترل ساختید که روی اون یک جعبه تصویر قرار گرفته. حالا می خواید با کلیک کاربر روی جعبه تصویر، کدی رو که بعدا کاربر وارد می کنه اجرا کنه.
پس باید برید و در تابع

private sub picturebox1_click (sender ,...

end sub

کد رو وارد کنید تا برای پارامترها مشکلی نداشته باشید.

__H2__
سه شنبه 08 خرداد 1386, 09:47 صبح
سلام
تا حدودی حرفهای کاربر saeed_rezaei (http://www.barnamenevis.org/forum/member.php?u=30229) درست است ولی نیازی به آن تعریف رویداد نیست چون خود UserControl یک رویداد Click دارد پس تعریف مجدد آن معنی ندارد و جالب نیست.
برای فراخانی رویدادی که در کنترل مبنا وجود دارد باید از زیر روالهای OnXXXXX استفاده شود.
به بیان دیگر شما به قسمت کدنویسی UserControl بروید و برای Buttom_Click دستور زیر را صادر کنید (Me.OnClick(e کنید، تمام است و مشکل شما حل میشود.

ضمناً کلاً کاری که انجام داده اید جالب نیست و موجب کند شدن برنامه نهایی میشود! قصدتان از این عمل چه بوده؟ آزمایش روی UserControl یا ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

سعید112
چهارشنبه 09 خرداد 1386, 14:38 عصر
سلام
ضمناً کلاً کاری که انجام داده اید جالب نیست و موجب کند شدن برنامه نهایی میشود! قصدتان از این عمل چه بوده؟ آزمایش روی UserControl یا ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

منظورم تولید دکمه های شیکتره . مثل دکمه های ویندوز و حتی قشنگتر:لبخندساده:

__H2__
چهارشنبه 09 خرداد 1386, 15:01 عصر
سلام

منظورم تولید دکمه های شیکتره . مثل دکمه های ویندوز و حتی قشنگتر:لبخندساده:

معمولاً این قبیل کارها با وراثت مستقیم از شی دکمه یا کنترلر خام قابل انجام است، که این کار سرعت بالاتری دارد و فقط یک hWnd در نهایت اشغال میکند.

سعید112
جمعه 11 خرداد 1386, 14:56 عصر
سلام
معمولاً این قبیل کارها با وراثت مستقیم از شی دکمه یا کنترلر خام قابل انجام است، که این کار سرعت بالاتری دارد و فقط یک hWnd در نهایت اشغال میکند.

اگه میشه یه کد یا مثالی برای کاربرد وراثت بذارید . ممنون میشم...:تشویق:

ghafoori
جمعه 11 خرداد 1386, 17:42 عصر
دوست عزیز این هم یک مثال از یک دکمه بیضی شکل
8830
8831