2009-04-15 7 views
0

私は2つのボタンがあるユーザーコントロールパネルを持っています。他のユーザーコントロールはこのコントロールから継承し、ボタンを表示する必要がある場合はプロパティをtrueに設定します。私はそれが欲しいものを実行しますが、私が探しているのは、このプロパティがfalseになっているフォームのデザイナーウィンドウからこれらのボタンをクリアする方法です。このプロパティは、プロパティ・ウィンドウに表示され、ボタンは常にデザイナーのウィンドウに表示されているビジュアルスタジオ - デザイナウィンドウからカスタムコントロールを削除する

[DefaultValue(false)] 
public bool ShowButtons{ 
    set 
    { 
    mShowButtons = value; 
    UpdateButtons(); 
    } 
    get 
    { 
    return mShowButtons; 
    } 
} 

:よう

が見えます。フォームを継承しているフォームからボタンをクリアするためにプロパティが変更されたときにデザイナーがこれを評価するようにする方法はありますか?私はこれを行うデザイナーの属性を見つけることができませんでした。 getを追加

+0

あなたはUpdateButtonsの関連部分を投稿してください。 – el2iot2

答えて

0

試してみてください。

bool mShowButtons; 
[DefaultValue(false)] 
public bool ShowButtons 
{ 
    get 
    { 
    return mShowButtons; 
    } 
    set 
    { 
    mShowButtons = value; 
    UpdateButtons(); 
    } 
} 

デザイナーにあなたの派生クラスを編集するときに今、あなたは派生UserControlが選択されたときに[プロパティ]ウィンドウでShowButtonsプロパティを見ることができるはずです。 (適切な属性を追加しない限り、「その他」セクションに表示されます)。そこに設定した場合は、Designer(UpdateButtons()関数の内容が正しく動作することを前提としています)に適切な影響を与える必要があります)。

プロパティエディタウィンドウに表示するには、プロパティがpublicで、ボットがgetsetである必要があります。いったん設定されると、プロパティウィンドウで値を設定すると、設計されたコントロールの設定がコントロールのリソース/実装に「保存」されます。

この機能は、派生したUserControlを特化するために非常によく使用されるため、私はあなたのためにうまくいくはずです(ただし、他の問題があるかもしれませんが)。

+0

申し訳ありませんが、私は簡潔さのために出かけました。プロパティはプロパティウィンドウに表示され、正しく保存され、UpdateButtonsは正しく機能します。限り、これは単なるデザイナーの問題であると私が言うことができる限り。 – jan

関連する問題