views:

746

answers:

4

I would like to intercept the event in a .NET Windows Forms TabControl when the user has changed tab by double-clicking the tab (instead of just single-clicking it).

Do you have any idea of how I can do that?

+2  A: 

The MouseDoubleClick event of the TabControl seems to respond just fine to double-clicking. The only additional step I would do is set a short timer after the TabIndexChanged event to track that a new tab has been selected and ignore any double-clicks that happen outside the timer. This will prevent double-clicking on the selected tab.

Jason Z
A: 

@Jason Z : Thanks for your answer, what I meant by intercept was to actually do something when the user changes tab by double-clicking. Do you think your answer still works?

Vincent
A: 

How about subclassing the TabControl class and adding your own DoubleClick event?

Vin
A: 

For some reason, MouseDoubleClick, as suggested by Jason Z is only firing when clicking on the tabs and clicking on the tab panel does not do anything, so it's exactly what I was looking for.

Vincent