DefaultValue النظام.الرسم.SystemColors
-
09-06-2019 - |
سؤال
لدي خط اللون الملكية في العرف التحكم الشبكة.أريد أن التقصير ، Drawing.SystemColors.InactiveBorder
.حاولت:
[DefaultValue(typeof(System.Drawing.SystemColors), "InactiveBorder")]
public Color LineColor { get; set; }
ولكن لا يبدو أن العمل.كيف أفعل ذلك مع القيمة الافتراضية الخاصية ؟
المحلول
هذا قد يساعد في: http://support.microsoft.com/kb/311339 - وهي مقالة بعنوان "وثائق MSDN على DefaultValueAttribute فئة قد تكون مربكة"
نصائح أخرى
كنت بحاجة إلى تغيير الحجة الأولى من SystemColors
إلى Color
.
يبدو أنه لا يوجد أي نوع محول عن SystemColors
نوع, فقط Color
نوع.
[DefaultValue(typeof(Color),"InactiveBorder")]
وفقا رابط مات نشرها ، DefaultValue السمة لا يتم تعيين القيمة الافتراضية الملكية ، فإنه يتيح مجرد شكل مصمم تعرف أن مكان الإقامة وقد القيمة الافتراضية.إذا قمت بتغيير خاصية القيمة الافتراضية كما هو مبين جريئة في الإطار "خصائص".
لا يمكنك تعيين قيمة افتراضية باستخدام التلقائي خصائص - عليك أن تفعل ذلك بالطريقة القديمة:
class MyClass
{
Color lineColor = SystemColors.InactiveBorder;
[DefaultValue(true)]
public Color LineColor {
get {
return lineColor;
}
set {
lineColor = value;
}
}
}