我有一个习惯TabControl
,我对他们TabPages
有ContextMenu
约束力。
我希望菜单仅在单击页眉时显示。
我所做的是,当TabControl
单击 时,我检查这些条件:
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);
}
}
}
}
如果我绑定MouseUp
到 TabControl
,我会得到 ContextMenu
整个 TabPage
. 如果我将它绑定到 TabPage
,我只会 ContextMenu
在正文中而不是在标题中。
有没有办法让 ContextMenu 只显示在标题 Click 上?