-1

この問題が発生したとき、カスタム プログレス バーを作成する途中でした [WinForm]

**The Structure:**
 -panel 
   -> panel
  so I have panel which inside the panel, there another panel.
**The Goals:**
-I want to use my parent panel as all event handler, 
 while make the child panel have no event at all.
**The Problem:**
- when I press my mouse inside the child panel. the event in parent wont called.
  explanation : -> I still wanted to call parent panel mouse down 
  even if I click on top of my child panel.
4

1 に答える 1

1

したがって、子パネルがクリックされたときに親パネルでクリック イベントが発生するようにします。

これを行うには2つの方法が考えられます。

最初の方法は、Panel2 の Click イベント ハンドラー メソッド内から Panel1 の Click イベント ハンドラー メソッドを呼び出すだけです。

private void panel1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Panel 1 clicked.");
}

private void panel2_Click(object sender, EventArgs e)
{
    this.panel1_Click(sender, e);
}

おそらくより良い方法は、両方のクリック イベントを 1 ハンドラー メソッドに登録することです。

private void panel1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Panel 1 clicked.");
}

次に、フォーム デザイナーから、または手動で 2 番目のパネルのイベントを登録します。

this.panel2.Click += new System.EventHandler(this.panel1_Click);
于 2012-08-19T22:47:27.040 に答える