|
■No77250 (魔界の仮面弁士 さん) に返信 > Font, Cursor, BackColor, ForeColor などのプロパティは "Ambient" であり、 > 親コントロール(Form、Panel、GroupBox 等)の値を引き継ぐようになっています。
右クリックで初期化できたんですね。 初歩的な質問ですみませんでした。 Desiner.cs でフォント指定の行を消したりしたのですがうまくいかず。 どうしようかと思っていました。
> 『デザイン時に』という意味であれば、プロパティ一覧で > 太字になっているもの(今回は Font プロパティ)を右クリックし、 > 「リセット」すれば OK です。 > 『実行時に』という意味であれば、Font プロパティや Cursor プロパティに > Nothing(VB) / null(C#)をセットすれば OK です。 > ForeColor や BackColor プロパティの場合は、Color.Empty ですね。 実行時でもリセットできたんですね。 以前に、起動時の状態を保持して、もとに戻すというような処理をしていました。 > 上記のように、既定値にするための値はプロパティによって異なりますが、 > それを汎用的に処理したいのであれば、PropertyDescriptor を使うことができます。 > PropertyDescriptor クラスの ResetValue メソッドを呼び出すことで、 > 指定したプロパティの値を、既定値(≠初期値)に戻すことができます。
こんな感じで実行できました。
PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(label1); PropertyDescriptor pd = pdc.Find("Font", false); pd.ResetValue(label1);
いろいろありがとうございました。
|