PDA

View Full Version : سوال: ایجاد usercontrol در سی شارپ



تبسم ساینا
دوشنبه 30 دی 1392, 22:14 عصر
سلام دوستان
من میخوام یه user control در سی شارپ درست کنم ..
میخوام داخلش یه شی مثلا" Rich Text قرار بدم و علاوه بر خاصیت هایی که خودش داره دو تا خاصیت رنگ بهش اضافه کنم!!مثلا" Color1 و Color2 که کاربر بتونه ازش رنگ مورد نظر خودشو انتخاب کنه ..
میشه بگید این کار امکان پذیر هست یا نه و اگه آره چجوری؟؟

sohil_ww
دوشنبه 30 دی 1392, 22:29 عصر
من دقیق متوجه نشدم که منظورتون ار رنگ چی هست
ولی شما می تونید هر کاری که می خواید رو ریچ تکس باکس انجام بدید فقط کافیه یوزر کنترلتونو از کلاس فرم مشتق کنید یا یه کلاس لایبراری ایجاد کنید و از کلاس ریچتکس باکس مشتق بگیرید


یه نمونه برات گذاشتم کد خودش گویای همه چی هست وقتی رو یوزر کنترل کلیک کردی به منوی پراپرتیس ویژوال دقت کن که خاصیتی به نام colo بهش اضافه شده

موفق باشید

115681

تبسم ساینا
دوشنبه 30 دی 1392, 22:34 عصر
ممنونم از وقتی که گذاشتید
منم تقریبا" یه همچین چیزی میخوام میشه بگید داخل کد یوزر کنترلش چی نوشتید که این خاصیت ایجاد شده؟

sohil_ww
دوشنبه 30 دی 1392, 22:41 عصر
من یه خاصیت یا به عبارتی یه پراپرتی نوشتم فقط و خوده آقا یه سی شارپ الباقی کارارو انجام داده

Color coloo;
public Color colo
{
set { trb.BackColor=value; }
get { return coloo; }
}

اینم یه لینک مطالعاتی
02 کلاس .شی . فیلد و پراپرتی.pdf - 863 KB (http://uplod.ir/rqcrgc195p1k/02_کلاس_.شی_._فیلد_و_پراپرتی.pdf .htm)

sagggad
دوشنبه 30 دی 1392, 22:52 عصر
در کل شما اینجا یک پراپرتی تعریف میکنید که در حین استفاده در وِزوال استودیو میتونید از اون استفاده کنید
دستور Set :
در صورتی که داخل پراپرتی تعریف شده این دستور را فقط استفاده کنید پرارپرتی شما WriteOnly میشود (یعنی : فقط نوشتنی)
در بلوک Set شما میتوانید به برنامه دستور دهید که اگر خصوصیت برابر فلان شد یک کاری انجام بشه
بلوک Get:
در صورتی که داخل پراپرتی تعریف شده این دستور را فقط استفاده کنید پرارپرتی شما ReadOnly میشود (یعنی : فقط خواندنی)
در بلوک Get شما میتوانید به برنامه دستور دهید که در چه صورت چه چیزی را داخل پراپرتی نماشی دهد (یک مقدار اولیه جهت نمایش در پراپرتی)
ضمنا اگر شما پراپرتی را از هر نوع تنظیم کنید همانطور دیده میشود مثلا Boolean = True Or False
اگر هردوی این بلوک ها را استفاده کنید پراپرتی دارای محدودیتی نیست و هم نوشتنی و هم خواندنی است...
موفق باشید

Helpco
جمعه 08 مرداد 1395, 23:45 عصر
سلام شرمنده تابیک قدیم را میارم بالا

چطوری میشه برای این مجموعه ساخته شده اسم بزاریم
141767

محمد آشتیانی
یک شنبه 10 مرداد 1395, 08:34 صبح
سلام
با تعریف Category Attribute برای پراپرتی ها ، مثل


public class OptionPageGrid : DialogPage
{
private int optionInt = 256;
private float optionFloat = 3.14F;


[Category("My Options")]
[DisplayName("My Integer option")]
[Description("My integer option")]
public int OptionInteger
{
get { return optionInt; }
set { optionInt = value; }
}
[Category("My Options")]
[DisplayName("My Float option")]
[Description("My float option")]
public float OptionFloat
{
get { return optionFloat; }
set { optionFloat = value; }
}
}



منبع:
https://msdn.microsoft.com/en-us/library/bb166176.aspx


موفق باشید.

Helpco
دوشنبه 11 مرداد 1395, 10:45 صبح
شرمنده میشه با یک نمونه بهم بگید چطوری میشه داخل یک گروه قراداد

محمد آشتیانی
دوشنبه 11 مرداد 1395, 20:37 عصر
شرمنده میشه با یک نمونه بهم بگید چطوری میشه داخل یک گروه قراداد

سلام
دشمنت شرمنده ، به همون تکه کد پست قبلی دقت کن ، دوتا پراپرتی OptionInteger و OptionFloat در گروهی به نام My Options قرار گرفتن.
موقعی که یوزر کنترل کامپایل بشه میتونید این مسئله رو مشاهده کنید.



موفق باشید.

Helpco
سه شنبه 12 مرداد 1395, 08:00 صبح
ممنون اون حل شد برای ایونت هام میشه اینکار کرد
141819141820

negar442
یک شنبه 22 اسفند 1395, 13:28 عصر
سلام
با تعریف Category Attribute برای پراپرتی ها ، مثل


public class OptionPageGrid : DialogPage
{
private int optionInt = 256;
private float optionFloat = 3.14F;


[Category("My Options")]
[DisplayName("My Integer option")]
[Description("My integer option")]
public int OptionInteger
{
get { return optionInt; }
set { optionInt = value; }
}
[Category("My Options")]
[DisplayName("My Float option")]
[Description("My float option")]
public float OptionFloat
{
get { return optionFloat; }
set { optionFloat = value; }
}
}



منبع:
https://msdn.microsoft.com/en-us/library/bb166176.aspx


موفق باشید.


تو این قطعه کد سه خط category , description , displaymember چه کار میکنه؟