Tôi có một tuỳ chỉnh TabControl
trong đó tôi có TabPages
với ContextMenu
ràng buộc với chúng.Cách đặt ContextMenu vào tiêu đề của TabPage
Tôi muốn trình đơn hiển thị chỉ khi tiêu đề trang đang được nhấp.
Những gì tôi làm là, khi TabControl
được nhấp, tôi kiểm tra các điều kiện:
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);
}
}
}
}
Nếu tôi gắn MouseUp
đến TabControl
, tôi nhận được ContextMenu
trong toàn bộ TabPage
. Nếu tôi liên kết nó với số TabPage
, tôi chỉ nhận được ContextMenu
trong phần nội dung chứ không phải trong tiêu đề.
Có cách nào để có ContextMenu chỉ hiển thị trên tiêu đề Nhấp không?
Sự kiện 'MouseUp' có được kết nối với mọi' TabPage' hoặc tới 'TabControl' không? – DonBoitnott
MouseUp được kết nối với TabControl. Nếu tôi Wire nó vào TabControl tôi nhận được ContextMenu trong toàn bộ tabpage. Nếu tôi liên kết nó với TabPage, tôi chỉ nhận được ContextMenu trong phần nội dung chứ không phải trong tiêu đề. –