PDA

View Full Version : چند سوال در باره DefaultValue



رضا عربلو
جمعه 24 تیر 1384, 01:23 صبح
با سلام
1 - چگون می توان بدون تعریف مجدد یک پراپرتی مقدار پیش فرض آنرا تغییر داد؟(به غیر از کد زیر :)

[DefaultValue(System.Windows.Forms.BorderStyle.Fixe d3D)]
public new System.Windows.Forms.BorderStyle BorderStyle
{
get
{
return base.BorderStyle;
}
set
{
base.BorderStyle = value;
}
}

2- چگون می توان برای پراپرتی هایی مانند فونت و Color یک مقدار پیش فرض تعریف کرد؟ کدهای زیر خطا می دهد:
[DefaultValue(System.Drawing.Color.White)]
...
[DefaltValue(new System.Drawing.Font("Traffic", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(178))))]
...

3- جگون می توان مقدار پیش فرض یک پراپرتی را طوری تعریف کرد که همانند پراپرتی Color کنترل Button از Parent خود بگیرد؟

Farhad.B.S
شنبه 25 تیر 1384, 00:17 صبح
برای کلیه موارد بالا میتونی در تابع Getter با چک کردن این شرط که برای پراپرتی مقداری ست نشده ، مقدار دلخواه رو (به عنوان مقدار پیش فرض) برگردونی.


get
{
if (this.MyProperty == null)
{
return Color.Black; //Default color
//or
return this.Parent.BackColor;
}
}