から継承されたコントロールを作成するControl
場合、 などのいくつかのプロパティを使用する必要がありIsDesignMode
ます。その後、特にデザイン モード内でイベント ハンドラーを構築できます。
if (IsDesignMode){
// プロパティの変更など、デザイン モードでの対話性を処理します。
// プロパティ ツールボックス
}
コントロールに のようなイベントがあるとしMouseClick
ます。これを行うことができます。
private void control_MouseClick(オブジェクト送信者, MouseEventArgs e){
if (IsDesignMode){
// Designer 内の Click イベントに応じて、ここで何かを行います
}そうしないと{
// これは実行時...
}
}
私が考えることができるもう1つは、デザイナーが生成したコードにプロパティを永続化するために、「ShouldSerialize」に続いてパブリックにアクセス可能なプロパティです。たとえば、コントロールにブール値のプロパティがあるとします。Foo
public bool Foo{
get{ return this._foo; }
set{ if (this._foo != 値){
this._foo = 値;
}
}
}
public bool ShouldSerializeFoo(){
true を返します。// プロパティは、デザイナーが生成したコードに永続化されます
// Form.Designer.cs をチェックイン...
}
false が返された場合ShouldSerializeFoo
、プロパティは永続化されません。true の場合はその逆で、Form.Designer.cs コード内に埋め込まれます...
これがお役に立てば幸いです。よろしくお願いします、トム。