私はコントロールのフォントのデフォルト値を取得しようとしているので、現在デフォルト値かどうかを判断できます。コントロールのフォントのデフォルト値を取得するにはどうすればよいですか?
コントロールのフォントのデフォルト値を取得するにはどうすればよいですか?その後、
私
// Gets the attributes for the property.
AttributeCollection attributes = TypeDescriptor.GetProperties(label1)["ForeColor"].Attributes;
//Find the "DefaultValue" attribute
DefaultValueAttribute myAttribute = (DefaultValueAttribute)attributes[typeof(DefaultValueAttribute)];
デフォルト値の属性が存在しない以外(myAttribute
がnull):私
はリフレクションを通じてFont
財産のDefaultValue
属性を取得を試してみましたAmbientValue
という属性があることに気付きました。属性の値はコントロールの親から来ます。
制御に続き、control.Parent
チェーンには、AmbientValue
という属性タグがあり、すべてForm
までです。
- LABEL1
[AmbientValue]
(なしのDefaultValue)- をForm1
[AmbientValue]
(なしのDefaultValue)null
- をForm1
だから、どのように私は、コントロールのデフォルト値を得るのですかFont
プロパティy?
これを試しましたか?http://msdn.microsoft.com/en-us/library/system.windows.forms.control.defaultfont(v=VS.100).aspx? – kol
可能な複製[WinFormsコントロールのプロパティが "デフォルト"の値であるかどうかを確認する方法](http://stackoverflow.com/questions/8251732/how-to-tell-if-a-winforms-controls-property- – LarsTech
@LarsTechその質問は* any *プロパティを扱います。この質問は* just * 'Font'を扱っています。さらに、その質問のテクニックは 'Font'のために働くようには見えません。また、その質問はパイプの夢でした(*プロパティがデフォルト値になっているかどうかを知る方法?* - 方法がないようです)。より合理的なアプローチは、それぞれの**タイプ**のプロパティについて個別の質問をすることです。 –