برگزیده های پرشین تولز

نحوه ارتباط منوها و باتن ها در چند فرم

oranoos_mta

Registered User
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
1,144
لایک‌ها
33
سلام
من دارم يه برنامه مينويسم كه تو برنامه تعداد 12تا فرم وجود داره
حالا اين 12 تا فرم هركدوم واسه خودش 40تا باتن و حدود 15تا منو داره.
من روي يكي از فرمها كدهامو نوشتم و ميخوام همين كدها روي فرم هاي ديگه دقيقا اجرا بشه. ولي نميدونم چطوري.
اينو بگم كه فرمها دقيقا همه مثله هم و همه دقيقا به اندازه هم باتن و منو دارن و اسم همه اونا هم دقيقا مثله هم ميباشن.
مثلا فرض كنيد تو form1 يه باتني مثلا btn13 كه كليك شد ميره روي فرم ديگه مثلا form7 . بعد كه form7 اومد بالا (load شد) همون باتن هارو داره كه مثلا btn13 رو زدم form4 بياد بالا
من نميخوام دوباره بيام روي تك تك باتن ها و منوها كد بنويسم. ميخوام از همون اولي استفاده كنم و فقط رويدادشو عوض كنم.
لطفا كمكم كنيد
 

عسل مجید

Registered User
تاریخ عضویت
4 دسامبر 2013
نوشته‌ها
258
لایک‌ها
105
محل سکونت
اینجا ایران است
رویدادهارو پابلیک می کنی که از سایر فرمها و کلاسها هم بهشون دسترسی داشته باشی بعد با فراحوانی می تونی اجراشون کنی.بهترین کتر این بود که شما یه کلاس مرجع می نوشتید بعد در تمامی رویداد ها از اون کلاس فراخوانی می کردید.
موفق باشید
 

saeed_pro

کاربر تازه وارد
تاریخ عضویت
5 می 2011
نوشته‌ها
78
لایک‌ها
21
محل سکونت
شیراز
سلام
من دارم يه برنامه مينويسم كه تو برنامه تعداد 12تا فرم وجود داره
حالا اين 12 تا فرم هركدوم واسه خودش 40تا باتن و حدود 15تا منو داره.
من روي يكي از فرمها كدهامو نوشتم و ميخوام همين كدها روي فرم هاي ديگه دقيقا اجرا بشه. ولي نميدونم چطوري.
اينو بگم كه فرمها دقيقا همه مثله هم و همه دقيقا به اندازه هم باتن و منو دارن و اسم همه اونا هم دقيقا مثله هم ميباشن.
مثلا فرض كنيد تو form1 يه باتني مثلا btn13 كه كليك شد ميره روي فرم ديگه مثلا form7 . بعد كه form7 اومد بالا (load شد) همون باتن هارو داره كه مثلا btn13 رو زدم form4 بياد بالا
من نميخوام دوباره بيام روي تك تك باتن ها و منوها كد بنويسم. ميخوام از همون اولي استفاده كنم و فقط رويدادشو عوض كنم.
لطفا كمكم كنيد
شما بجای اینکه بیای توی Form کد ها رو بنویسی، زمانی که کد ها بیشتر از یک فرم قراره اجرا بشن
باید از Class استفاده کنید.
یک Class میسازید و تمام کارهای مختلفتون رو میکنید چندین تابع در کلاس.
حالا یا توابع رو Static میسازید که فقط کافیه برای صدا زدن بعد از اسم کلاس یک نقطه بزارید و تابع رو صدا بزنید.
یا Static نیست و فقط Public هست که کافیه یک متغیر از نوع کلاس تعریف کنید و بعد از اسم متغیر نقطه اسم کلاس بزنید.
 

Mbt925

کاربر تازه وارد
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
معمولا در چنین حالتی که فرم ها دارای تعداد کنترل های زیاد هستن، منطقی تر اینه که فرم رو با کد طراحی کنید.
طراحی شیء گرای این برنامه به این صورت هست:
یک فرم با مشخصاتی که گفتید (با کدنویسی، نه استفاده از امکانات ویژوال) طراحی می کنید
بعد برای سایر فرم هاتون، از فرم بالا به ارث می برید و فقط رویدادهای موردنظرتون رو override می کنید
 

alirezador

Registered User
تاریخ عضویت
6 اکتبر 2014
نوشته‌ها
76
لایک‌ها
12
سن
39
محل سکونت
تبریز
سلام بهترین حالت اینه که از یک کلاس استفاده کنی و دستورات را در داخل ان بنویسی و بعد در هر فرم یک نمونه یا اینیستنس از اون کلاس بسازی و متد های داخل کلاس را در رویداد ها فراخوانی کنی
 
بالا