標準のTreeViewコントロール内の単純なメソッドをオーバーライドしようとしています。
public class treeView1 : TreeView
{
protected override void OnMouseUp(MouseEventArgs e)
{
MessageBox.Show("Are we getting here?");
base.OnMouseUp(e);
}
}
簡単そうに見えますが、なぜ呼ばれていないのかわかりません。TreeViewコントロールからinheritを呼び出し、基本的なオーバーライドを実行します。TreeViewが呼び出されtreeView1
、オーバーライドされたものではなく、その親クラスのイベントメソッドに応答します。なぜです!?
また、カスタムユーザーコントロールを作成するのではなく、これを基本的なものにしておきたいだけです。ありがとう。
編集:Form1.Designer.csでツリービューを作成しました
private System.Windows.Forms.TreeView treeView1;
&は次のように初期化されます。
//
// treeView1
//
this.treeView1.Location = new System.Drawing.Point(13, 316);
this.treeView1.Name = "treeView1";
this.treeView1.Size = new System.Drawing.Size(539, 474);
this.treeView1.TabIndex = 2;
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
this.treeView1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.treeView1_MouseUp);