Mam niestandardowy TabControl
, w którym mam TabPages
z ContextMenu
związanych z nimi.Jak umieścić ContextMenu w nagłówku TabPage
Chcę, aby menu wyświetlało się tylko wtedy, gdy kliknięto nagłówek strony.
Co zrobić, jest to, że gdy TabControl
kliknięciu sprawdzić te warunki:
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);
}
}
}
}
Jeśli wiążę MouseUp
do TabControl
, otrzymuję ContextMenu
w całym TabPage
. Jeśli wiążę go z TabPage
, otrzymam tylko ContextMenu
w ciele, a nie w nagłówku.
Czy istnieje sposób, aby menu kontekstowe pokazywać tylko w nagłówku Kliknij?
Czy zdarzenie 'MouseUp' jest podłączone do każdej strony" TabPage "lub do" TabControl "? – DonBoitnott
The MouseUp jest podłączony do TabControl. Jeśli podłączę go do TabControl, otrzymam ContextMenu na całej zakładce. Jeśli przywiążę go do TabPage, otrzymam tylko ContextMenu w treści, a nie w nagłówku. –