PDA

View Full Version : سوال: پیروی کردن همه ی فرم ها از یک تنظیمات.



ricky22
دوشنبه 18 مرداد 1389, 11:06 صبح
سلام می خواهم یک فرم پایه داشته باشم و همه ی فرمهام از اون پیروی کنند از نظر فونت رنگ و ....
چطوری VIsual Inheritance کنم؟
به نظر خودم باید یک فرم بسازم و تنظیمات را اعمال کنم بعد بالای همه ی ارث ببرم.
لطفا راه اصولی این کار را بگید و نحوه ی ارث بری را توضیح دهید.
با تشکر.

M.YasPro
دوشنبه 18 مرداد 1389, 11:25 صبح
سلام


به نظر خودم باید یک فرم بسازم و تنظیمات را اعمال کنم بعد بالای همه ی ارث ببرم

بله همین کار رو میکنید .
من برای یک header توی فرم هام از این روش استفاده می کنم .
در مورد کد هم :هر متدی رو که توی همه فرم ها لازم دارید بصورت public می نویسید و تو همه فرم ها قابل دسترس هستند .
خوندن این مطلب (http://www.codeproject.com/kb/dotnet/visualForm.aspx) هم خالی از لطف نیست .
موفق باشید.

ricky22
دوشنبه 18 مرداد 1389, 11:56 صبح
سلام

بله همین کار رو میکنید .
من برای یک header توی فرم هام از این روش استفاده می کنم .
در مورد کد هم :هر متدی رو که توی همه فرم ها لازم دارید بصورت public می نویسید و تو همه فرم ها قابل دسترس هستند .
خوندن این مطلب (http://www.codeproject.com/kb/dotnet/visualForm.aspx) هم خالی از لطف نیست .
موفق باشید.
سلام.
ممنون از توجهت این لینک را قبلا دیده بودم.
ببینید من نمی خوام از متد خاصی ارث ببرم.
می خوام با تنظیم فونت BaseForm به مثلا Tahoma فونت همه ی فرم ها به Tahoma تغییر پیدا کند.
میشه یک مثال عملی بزنید.
من موفق نشدم.

اوبالیت به بو
دوشنبه 18 مرداد 1389, 12:19 عصر
سلام

من اين كار رو انجام مي دادم (حالا اصول و غير اصوليش رو نمي دونم):

يه فرم Base مي ساختم و همه تنظيمات رو روش اعمال مي كردم. مثلا پشت ضمينه سفيد، فونت فلان سايز x، نمي دونم اگه Esc زد بسته بشه اگه چي شد چي بشه و ....

بعد تويه كلاس هر فرم اين عبارت رو اضافه مي كردم:


public partial class AccountPartys : BaseForm
{

}

M.YasPro
دوشنبه 18 مرداد 1389, 12:32 عصر
اینو اماده کردم :

ricky22
دوشنبه 18 مرداد 1389, 12:35 عصر
اینو اماده کردم :
خیلی ممنون عالی بود. :)

-------------------
با تشکر از دوست عزیزم obalitjoOon (http://barnamenevis.org/forum/member.php?u=47457)
دوستان توجه کنید که بعد از ساخت فرم پایه حتما Rebuild کنند.
که با Error ضمیمه مواجه نشند.

mmd2009
دوشنبه 18 مرداد 1389, 17:37 عصر
میشه دلیل استفاده از این کارو توضیح بدید ؟

ricky22
دوشنبه 18 مرداد 1389, 17:49 عصر
میشه دلیل استفاده از این کارو توضیح بدید ؟
کدام کار؟
Rebiuld یا ارث بری؟

FastCode
دوشنبه 18 مرداد 1389, 23:24 عصر
من یه کار دیگه میکنم.
نمیدونم اصولی تره یا بدتره.
من همه فرمها رو برای نمایش به یک procedure میفرستم.توی این پراسیجر,اتفاقات زیر میافته:
۱.تنظیمات فرم لود میشن.
۲.تنظیمات روی فرم اعمای میشن.
۳.یه سری تنظیمات عمومی روی فرم انجام میشه.
۴.موقعیت فرم set میشه.
۵.یه ترد اجرا میشه.
۶.یه message loop روی فرم اجرا میشه.

خواص و ایرادات:
۱.برنامه شما هرگز هنگ نمیکند.
۲.اگر مشکلی برای یک فرم پیش بیاد هیچ اختلالای توی کار ایجاد نمیکنه.
۳.پردذازنده های چند هسته ای کاملاً پشتیبانی میشه.
۴.میزان memory leak به دلایلی کاهش پیدا میکنه.
۵.مشکل rebuild نداره.
۶.امکانات بیشتر و metadata بیشتر در دست شماست.

۱.راحتتر از روش شما نیست.
۲.سرعتش توی تعدا پایین کمتر از شماست.البته قابل احساس نیست.
۳.کد اولیه کارش بیشتره.
بهتره فرمها از یه interface ارثبری کنند.

ricky22
دوشنبه 18 مرداد 1389, 23:26 عصر
لطفا یک مثال ضمیمه می فرمایید؟

اَرژنگ
سه شنبه 19 مرداد 1389, 02:36 صبح
لطفا یک مثال ضمیمه می فرمایید؟
به مثالهایه مربوط Factory Pattern به مراجعه کنید.
روش استفاده از procedure برایه اینکار برایه شروع ممکنه کافی باشد ولی بهتره که از پترنها استفاده بشد.

M.YasPro
سه شنبه 19 مرداد 1389, 07:25 صبح
من یه کار دیگه میکنم.
نمیدونم اصولی تره یا بدتره.
من همه فرمها رو برای نمایش به یک procedure میفرستم.توی این پراسیجر,اتفاقات زیر میافته:
۱.تنظیمات فرم لود میشن.
۲.تنظیمات روی فرم اعمای میشن.
۳.یه سری تنظیمات عمومی روی فرم انجام میشه.
۴.موقعیت فرم set میشه.
۵.یه ترد اجرا میشه.
۶.یه message loop روی فرم اجرا میشه.



میشه یه تیکه کد یا یه پروژه ساده اینجا بزارید ؟