PDA

View Full Version : ایجاد کنترل جدید بوسیله گسترش دادن کنترلهای استاندارد



bashir_nashi
چهارشنبه 26 مهر 1385, 15:59 عصر
سلام
من تا حالا چند تا کنترل برای استفاده در برنامه هام ساختم و مشکلی هم نداشتم
من این کنترلها رو بوسیله WindowsControlLibrary می سازم که یه چیزی مثل فرم در بک گراند هست و کنترلها رو میشه روش قرار داد
ولی حالا من می خوام مثلا یه تکست باکس خاص برای کاری خاص درست کنم که تمام خواص و متدهای یه تکست باکس معمولی رو هم داشته باشه . ولی این کار رو نمی دونم کجا باید انجام بدم
متشکرم

h.bathaie
چهارشنبه 26 مهر 1385, 21:52 عصر
1 کلاس بنویس که از System.Windows.Forms.TextBox
ارث ببره و پروپرتی ها و متد های مورد نظر رو توش add کن
بعد از اینکه کامل شد میتونی با 1 ابجکت از این کلاس بسازی و با فرمان
me.controls.add objectname
اونو به فرمت اضافه کنی . از این نمونه میتونی توی codeproject پیدا کنی

bashir_nashi
جمعه 28 مهر 1385, 10:27 صبح
ممنون از راهنماییتون .
نمیشه از اون کلاس یه dll ساخت تا استفاده ازش راحت تر باشه.
چون بر خلاف حالت طراحی کنترل , بعد از ران کردن برنامه هیچ dll ی ازش ساخته نشد و برای استفاده از این کنترل باید کلاس اون رو داشت.
متشکرم.

alireza_CBoy
جمعه 28 مهر 1385, 12:47 عصر
میشه :
یک پروژه از نوع ClassLibrary درست کن بعد کلاس مورد نظرتو بنویس و بعد پروژه رو Build کن و کار تمومه .

موفق باشی .

bashir_nashi
جمعه 28 مهر 1385, 21:11 عصر
نشد
یعنی در واقع وقتی یه پروژه کلاس باز می کنم دیگه نمی شه از کنترلهای استاندارد ارث برد یا حداقل من بلد نیستم .
من با فرمان Inherits از کنترل مورد نظر ارث می برم که در این حال جواب نمی ده.

alireza_CBoy
جمعه 28 مهر 1385, 21:56 عصر
یا حداقل من بلد نیستم .
بلدی فقط به این نکته دقت نکردی ( درسته ؟ ) :چشمک: :
ببین دوست عزیز شما وقتی یک پروژه ClassLibrary درست میکنی بصورت Defult ، فقط Reference های ( System.Data ، System.Xml ، System ) به پروژه اضافه شده و شما باید خودت System.windows.forms رو به پروژه Add کنی و بعد میتونی از کنترل های Form ارث ببری :
برای مثال : Inherits System.Windows.Forms.TextBox ( دیگه Import کردن Namespace هم که دیگه میل خودته )

موفق باشی .

bashir_nashi
شنبه 29 مهر 1385, 19:47 عصر
خیلی ممنون از راهنمایی هاتون

h.bathaie
یک شنبه 30 مهر 1385, 00:43 صبح
1 روش ماست مالی دیگه هم داره . میتونی 1 controllibrary بسازی . توش کلاستو تعریف کنی بعد با کد add ش کنی و ازش dll بسازی .
(این روش رو هیچوقت اجرا نکن فقط بدون که اینجوریم میشه ;) )