私は現在、クラスのメンバーを含むマトリックスを持っています。これには、furniture
オーバーライドFurniture
したいPictureBoxメンバーがあり、それはOnMouseClickメソッド
です。どこでそれを行うのですか? クラスコード
で?
そのようなメンバーをオーバーライドするための構文は何ですか?Furniture
質問する
226 次
3 に答える
2
オーバーライドすることを意味する場合は、カスタムクラスで他に行う場所はありません。
MyPictureBox
originalから派生した新しいクラスを作成しますPictureBox
。
例:
public class MyPictureBox : PictureBox {
public override void OnMouseClick(...) {
//...
}
}
その後、当然、フォームでこのオブジェクトを使用します。
Furniture.Controls.Add(new MyPictureBox ());
実際Furniture
にコントロールとは何かわからないので、これは単なる理論上の例です。
于 2013-01-29T10:22:36.170 に答える
0
次のコードを参照してください。
public class DerivedPictureBox: PictureBox
{
protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
}
}
アプリケーションでDerivedPictureBoxを使用すると、この派生OnMouseClickメソッドが実行されます。
于 2013-01-29T10:21:44.993 に答える
0
クリックのみを検出したい場合は、PictureBox.MouseDown のハンドラーを追加するだけです。
これはデザイナで実行できます。画像ボックスを見つけてそのプロパティを確認し、[イベント] を選択してから、MouseDown ハンドラの名前を入力します。
これは実際に OnMouseClick をオーバーライドすることとは異なることに注意してください。
OnMouseClick をオーバーライドしたい理由は何ですか?
于 2013-01-29T10:21:41.803 に答える