我有一个习惯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 上?