PDA

View Full Version : سوال: ایجاد چند فرم از روی فرم پایه



اسماعیل ابراهیمی
یک شنبه 02 بهمن 1390, 11:09 صبح
با سلام خدمت دوستان

من می خوام یه فرم داشته باشم که بتونم از روی اون فرم های دیگه ی برنامه ام رو ایجاد کنم .

منظورم اینه که یه فرم با خصوصیاتی مثل رنگ خاص ، فونت خاص ، اندازه خاص و ... داشته باشم و بتونم از روی اون در فرم های دیگه برنامه ام استفاده کنم .

هدف اصلی من از این کار اینه که یک خصوصیت رو برای مثلا 20 فرم جداگانه تنظیم نکنم .

بعد از اینکه بفرض 20 فرم از روی این فرم اصلی ساختم دیگه نمی خوام از اون ارث بری کنن . مثلاً اگه من یه دکمه روی فرم اصلی ام گذاشتم ، دیگه ای ن دکمه روی فرم های دیگه قرار نگیره .

در کل ارث فقط برای خصوصیات فرم باشه نه چیز دیگه ای ..

saeedgharedaghi
یک شنبه 02 بهمن 1390, 12:06 عصر
حوب دوست عزیز چرا خصوصیات فرم رو تحت یه کلاس ذخیره نمی کنید. این طوری خیلی بهتره

shadi khanum
یک شنبه 02 بهمن 1390, 12:32 عصر
یه جورایی مشسیر رو اشتباه دفتی دوست عزیز. وایه این کار شما بیا اول یه فرم base درست کن و توش هیچ کنترلی نذار و فقط اندازه و رنگ و فونت و این ها رو توش Set کن. حالا شروع کن به ساختن فرم های برنامت و هر کدوم از فرم هات که میخوای رنگ و اینا رو به ارث ببره از این base ارث ببر، اونایی هم که نمیخوای که هیچ.
الان مشکل کجاست؟

gwbasic
یک شنبه 02 بهمن 1390, 12:42 عصر
هدف ساخت Base Form این هست که فرمهایی که از اون ارث بری می کنند تمام خصوصیات اون رو به ارث ببرند بنابراین نمی تونید ازش استفاده کنید اما می تونید از امکانات Visual Studio‌ استفاده کنید.
به این شکل که فرم مورد نظرتون رو بسازید (می تونه تو یه پروِژه جدا باشه) بعد تغییرات مورد نظر رو روی اون اعمال کنید و در نهایت از طریق منوی File->Export Temaple یک Tamplate‌از روی اون بسازید. از این به بعد وقتی آیتمی رو اضافه می کنید این فرم Tamplate هم در لیست موجود می باشد و قابل اضافه شدن هست. در حقیقت بر اساس نیاز می توان tamplate های مختلف ساخت و از آنها در پروژه های مختلف استفاده کرد.

اسماعیل ابراهیمی
یک شنبه 02 بهمن 1390, 13:59 عصر
هدف ساخت Base Form این هست که فرمهایی که از اون ارث بری می کنند تمام خصوصیات اون رو به ارث ببرند بنابراین نمی تونید ازش استفاده کنید اما می تونید از امکانات Visual Studio‌ استفاده کنید.
به این شکل که فرم مورد نظرتون رو بسازید (می تونه تو یه پروِژه جدا باشه) بعد تغییرات مورد نظر رو روی اون اعمال کنید و در نهایت از طریق منوی File->Export Temaple یک Tamplate‌از روی اون بسازید. از این به بعد وقتی آیتمی رو اضافه می کنید این فرم Tamplate هم در لیست موجود می باشد و قابل اضافه شدن هست. در حقیقت بر اساس نیاز می توان tamplate های مختلف ساخت و از آنها در پروژه های مختلف استفاده کرد.

با تشکر از شما
اگر بعد از ایجاد تمام فرم ها Template را تغییر بدهیم آیا همه فرم های ایجاد شده از روی آن نیز تغییر را اعمال می کنند ؟

gwbasic
یک شنبه 02 بهمن 1390, 14:40 عصر
خیر ولی فرهم های جدید که بر اساس Template جدید ساخته می شه طبیعتا بر اساس این تغییرات ساخته می شه

zarrinnegar
یک شنبه 02 بهمن 1390, 14:58 عصر
یه جورایی مسیر رو اشتباه رفتی دوست عزیز. واسه این کار شما بیا اول یه فرم base درست کن و توش هیچ کنترلی نزار و فقط اندازه و رنگ و فونت و این ها رو توش Set کن. حالا شروع کن به ساختن فرم های برنامت و هر کدوم از فرم هات که میخوای رنگ و اینا رو به ارث ببره از این base ارث ببر، اونایی هم که نمیخوای که هیچ.
الان مشکل کجاست؟

ایشون درست میگن بهتره این کار رو انجام بدی و مابقی فرم هاتو بصورت InheritedForm بسازی و از این فرم پایه ارث بری کنی
بعدش هر وقت تنظیمات فرم پایه رو تغییر بدی بقیه هم تغییر میکنن به شرطی که خصوصیتی رو داخل اون فرم تغییر نداده باشی
مثلا رنگ زمینه فرم پایه رو آبی آسمانی میزاری بعد 10 تا فرم ازش میسازی و توی یکی رنگ زمینه رو تغییر میدی به کرم بعد اگه بیایی و فرم پایه رو به رنگ سبز کم رنگ تغییر بدی و برنامه رو کامپایل کنی ، فرمی که رنگش کرم بود همون کرم باقی میمونه