PDA

View Full Version : سوال: چگونگی سفارشی کردن یک فرم و ارث بری از آن(فوری)



mhs377
یک شنبه 16 خرداد 1389, 21:04 عصر
سلام
من میخام یه فرم(یا یه تکست باکس یا هر چیز دیگه ) رو به صورت سفارشی در بیارم و بعد بقیه فرمها از اون ارث ببرن ولی نمیدونم چطور باید اینکار رو کرد
اگه در مورد اطلاعات دارید لطفا کمک کنید
ممنون

s.khoshfekran
یک شنبه 16 خرداد 1389, 21:19 عصر
از InterheritedForm استفاده کن!

mhs377
یک شنبه 16 خرداد 1389, 21:52 عصر
از InterheritedForm استفاده کن!

میشه یه کم بیشتر توضیح بدید

s.khoshfekran
یک شنبه 16 خرداد 1389, 22:20 عصر
یه class Library Project باز کن و یه Form اضافه کن و بعد به صورت dll اونو Build کن

s.khoshfekran
یک شنبه 16 خرداد 1389, 23:38 عصر
برای استفاده هم روی project راست کلیک کن
Add--> Inherited Form رو انتخاب کن و Browse رو بزن و dll که در روش بالا ساختی رو انتخاب کن

mhs377
دوشنبه 17 خرداد 1389, 09:40 صبح
من vs2008 کار میکنم
گزینه Add--> Inherited Form رو پیدا نکردم
چطور از dll ساخته شده میشه استفاده کرد
ممنون میشم اگه یه کم بیشتر توضیح بدید

ASKaffash
دوشنبه 17 خرداد 1389, 09:44 صبح
سلام
از همه راحتر در این قسمت :


public partial class Form1 : Form

بجای Form نام فرم خودتان را تایپ کنید به ارث می برد

mhs377
دوشنبه 17 خرداد 1389, 11:48 صبح
سلام
از همه راحتر در این قسمت :


public partial class Form1 : Form

بجای Form نام فرم خودتان را تایپ کنید به ارث می برد

حالا اگه بخام فقط یه تکست باکس داشته باشم چکار باید بکنم؟
تکست باکس رو امتحان کردم اضافه نمیشه حتما باید فرم باشه
راهی هست که تکست باکس هم سفارشی کرد؟

ASKaffash
دوشنبه 17 خرداد 1389, 13:08 عصر
سلام
بله می شود یک UserControl اضافه کنید واز یک TextBox ارث بری کنید

mhs377
سه شنبه 18 خرداد 1389, 05:33 صبح
لطفا بیشتر توضیح بدید
اگه میشه با مثال

ASKaffash
سه شنبه 18 خرداد 1389, 10:24 صبح
لطفا بیشتر توضیح بدید
اگه میشه با مثال
سلام
خیلی آسان است چه توضیحی ؟ بجای فرم یک UserControl به پروژه اضافه می کنیم و در صورت نیاز پس با نوشتن Property و Method و Event و ... و با Build کردن روی سطح یک فرم استفاده می کنیم

Rejnev
سه شنبه 18 خرداد 1389, 10:30 صبح
به کنترلهای سفارشی بنده در امضا مراجعه کنید.
در کل



project->add new Class...
....
public class MyTextBox : System.Windows.Forms.TextBox
{
//now override or add ur methodes...
}
...
then after building the solution(shift+control+B) the control will be added to your toolbox

Rejnev
سه شنبه 18 خرداد 1389, 10:35 صبح
سلام
خیلی آسان است چه توضیحی ؟ بجای فرم یک UserControl به پروژه اضافه می کنیم و در صورت نیاز پس با نوشتن Property و Method و Event و ... و با Build کردن روی سطح یک فرم استفاده می کنیم

سلام
من تجربه زیاد خوشی از UserControl ندارم.
اگه به صورتی که در پست قبل گفتم عمل کنید این مزیت رو داره که کنترل شما تمامی خواص مثلا TextBox رو ارث بری میکنه و شما فقط میاید و متدهای اون کلاس رو override میکنید و اگه خواستید پراپرتی یا متد اضافه میکنید و ... بدون هیچ مشکلی. ولی در حالت عادی(UserControl) توی این مثال که قراره یک TextBox سفارشی بشه این مشکل پیش میاد که مثلا UserControl خاصیت Text نداره یا رویداد TextChange نداره .... که باید این ها رو هم براش بنویسید که کار سخت میشه