PDA

View Full Version : سوال: طراحي فرم با خصوصيات دلخواه



rezaiy.ali
یک شنبه 22 دی 1387, 22:05 عصر
با سلام
من در پروژه ام نياز به فرم هاي زيادي دارم كه در هنگام ايجاد انها بايد يك سري تنظيمات يكساني براي همه انها انجام بدم.
آيا ميشه كه فرم طراحي كرد كه يك بار اين خصوصيات را ايجاد كرد و ديگه در فرم ها بعدي نيازي به تنظيم مجدد اين خصوصيات نباشه
با تشكر

hdv212
یک شنبه 22 دی 1387, 23:08 عصر
بله، شما یک فرم رو به صورت پایه یا Base طراحی کن، سپس فرم های بعدی رو که اضافه میکنی، به جای Inherit شدن از کلاس Form، از کلاس فرم شما به ارث برده بشه.

jaza_sa
دوشنبه 23 دی 1387, 15:11 عصر
طبق صحبت های آقای hdv212 باید این کد رو بینوسید :

public partial class Form1 : MyBaseFomr

gigil_Question
دوشنبه 23 دی 1387, 20:10 عصر
سلام
برای همه کنترلها میشه این کار رو کرد ؟

hosseinsinohe
دوشنبه 23 دی 1387, 21:22 عصر
سلام
برای همه کنترلها میشه این کار رو کرد ؟

بله برای همه کنترل ها میشه از این ویژگی (ارث بری) استفاده کرد.ولی باید اون کنترل در یک فایل به صورت Component باشه.

FirstLine
چهارشنبه 25 دی 1387, 12:21 عصر
با سلام
یعنی مامیتونیم یه فرم بهمراه تعدادی کنترل در پروژه ایجاد کنیم و تمام تنظیمات شخصی خودمون را بر روی همه کامپوننتها (radio, combo, text bax & ..) اعمال کنیم و در فرمهای دیگر هر موردی را که خواستیم آن شرایط را داشته باشند، از خاصیت ارث بری برای اعمال تنظیمات و خصوصیات استفاده کنیم؟
با تشکر

iranrose63
چهارشنبه 25 دی 1387, 12:35 عصر
شما مي تونيد يك كلاس داشته باشيد براي هر كدام از كنترل هايي كه مي خواين يك سري خصوصيات خاص داشته باشند بعد از اين كلاسها در پروژه تون استفاده كنيد

FirstLine
چهارشنبه 25 دی 1387, 14:08 عصر
با سلام
از لطف و راهنمایی شما سپاسگزارم
اگه ممکنه بیشتر راجع به کلاسها راهنمایی بفرمایید و یه مثال یا نمونه برای این مورد کلاسها معرفی کنید.
با تشکر

danial82
چهارشنبه 25 دی 1387, 17:30 عصر
ببین این میتوانه کمکت کنه
http://barnamenevis.org/forum/showpost.php?p=664704&postcount=24

iranrose63
پنج شنبه 26 دی 1387, 08:18 صبح
دوست عزيز در مثال زير من يه كلاس ايجاد كردم كه از TextBox به ارث ميبره خاصيت اين textbox اينه كه وقتي انتخاب ميشه رنگ پس زمينه اون عوض ميشه و يه سري مقادير اوليه مورد نظر خودمم داره سپس دو كلاس ديگه ايجاد كردم كه از كلاس اولي به ارث ميبره يكي براي اينكه فقط عدد بگيره و يكي براي اينكه فقط حروف رو قبول كنه
اميدوارم بتونه كمكت كنه

rezaiy.ali
دوشنبه 30 دی 1387, 21:58 عصر
با سلام
من كاري را كه جناب jaza_sa (http://barnamenevis.org/forum/member.php?u=45588) فرمودند انجام دادم اما زماني كه فرم را در حالت طراحي باز مي كنم فرم نمايش داده نمي شه و وارنينگ زير نمايش داده مي شه



The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: PhoneBook --- The base class 'IEA.BaseForm' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Hide

at System.ComponentModel.Design.Serialization.CodeDom DesignerLoader.EnsureDocument(IDesignerSerializati onManager manager)
at System.ComponentModel.Design.Serialization.CodeDom DesignerLoader.PerformLoad(IDesignerSerializationM anager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDo m.VSCodeDomDesignerLoader.PerformLoad(IDesignerSer ializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDe signerLoader.BeginLoad(IDesignerLoaderHost host)

Mahdi.Kiani
دوشنبه 30 دی 1387, 22:21 عصر
سلام
شما می توانید یک قالب جدید تهیه کنید و از آن در برنامه هاتون استفاده کنید.
نحوه ساخت آن را به صورت کامل در .... این مقاله ... (http://barnamenevis.org/forum/showthread.php?t=95243) می توانید مطالعه کنید .
موفق باشید

s_ahmadneya
سه شنبه 01 بهمن 1387, 09:15 صبح
با سلام
من كاري را كه جناب jaza_sa (http://barnamenevis.org/forum/member.php?u=45588) فرمودند انجام دادم اما زماني كه فرم را در حالت طراحي باز مي كنم فرم نمايش داده نمي شه و وارنينگ زير نمايش داده مي شه



The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: PhoneBook --- The base class 'IEA.BaseForm' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Hide

at System.ComponentModel.Design.Serialization.CodeDom DesignerLoader.EnsureDocument(IDesignerSerializati onManager manager)
at System.ComponentModel.Design.Serialization.CodeDom DesignerLoader.PerformLoad(IDesignerSerializationM anager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDo m.VSCodeDomDesignerLoader.PerformLoad(IDesignerSer ializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDe signerLoader.BeginLoad(IDesignerLoaderHost host)



ارث بری در فرم ها کاری متداول است و من به راحتی از این امکان استفاده می کنم برای استفاده از ان چند نکته را سعی کن مد نظر داشته باشی
1- در فرم مادر نباید کدی استفاده کنی که در هر الان امکان بهره برداری از ان وجود نداشته باشد به بعنوان مثال من یک بار در فرم اصلی به بانک وصل می شدم و داده ها ی را استخراج و اشیای را می ساختم چنانچه بانک مشکل پیدا می کرد حالت دیزاین نشان داده نمی شد.
2- گاهی اوقات با بستن و باز کردن دوباره این مشکل حل می شود!