2012-06-22 3 views
2

Событие mousedown для tabcontrol только захватывает щелчок мыши, сделанный на вкладках поверх Tabcontrol, а не то, что добавлено внутри элемента управления (пустое пространство).C# Tabcontrol захват события mousedown

Есть ли способ захватить событие mousedown, которое сделано внутри tabcontrol?

+0

попробовать поставить другой элемент управления в контейнере на вкладке, а затем использовать его событие – Boomer

+0

ах это действительно единственный способ? потому что у меня уже есть много элементов управления внутри контейнера вкладки. – l46kok

+1

TabControl - это всего лишь полоса вкладок сверху. Остальное - TabPage. Что получает событие мыши. –

ответ

3

Таблетки внутри tabcontrol являются элементами управления самостоятельно и на которых вы можете захватывать события мыши. При добавлении от дизайнера, вы можете добавить их к определенному TabPage непосредственно

private void tabPage1_Click(object sender, EventArgs e) 
    { 

    } 

или более общему подходу, добавив событие ко всей существующей tabpages (если страницы являются динамическими, вы можете поймать tabadded/удаленные события тоже)

 foreach(TabPage tp in tabControl1.TabPages) 
      tp.Click += new EventHandler(YourClickEventHandler); 
Смежные вопросы