とContextMenu
がバインドされたカスタムTabControl
があります。ContextMenuをTabPageのヘッダに配置する方法
ページヘッダーがクリックされているときにだけメニューが表示されるようにします。私は何
がTabControl
をクリックしたときに、私はこれらの条件をチェックし、ということである:私はTabControl
にMouseUp
をバインドする場合
private void MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == Mousebuttons.Right)
{
for (int i = 0; i < TabCount; ++i)
{
Rectangle r = GetTabRect(i);
if (r.Contains(e.Location) /* && it is the header that was clicked*/)
{
// Change slected index, get the page, create contextual menu
ContextMenu cm = new ContextMenu();
// Add several items to menu
page.ContextMenu = cm;
page.ContextMenu.Show(this, e.Location);
}
}
}
}
、私は全体TabPage
でContextMenu
を取得します。私がTabPage
にそれを縛ると、私は体の中でContextMenu
を得て、ヘッダーではない。
ContextMenuをヘッダーにのみ表示する方法はありますか?
「MouseUp」イベントは、すべての「TabPage」または「TabControl」に配線されていますか? – DonBoitnott
MouseUpはTabControlに接続されています。 TabControlにワイヤリングすると、全体のタブページにContextMenuが表示されます。私はそれをTabPageにバインドする場合、私は本文ではなくヘッダーでContextMenuを取得します。 –