Изменить выбранную вкладку TabControl на MouseOver - PullRequest
3 голосов
/ 12 марта 2012

У меня есть проект Windows Forms с TabControl.

Кто-нибудь знает, как изменить SelectedTab при наведении на него указателя?

Ответы [ 2 ]

7 голосов
/ 12 марта 2012

Вы можете использовать событие MouseCove для TabControl, чтобы определить, присутствует ли ваша мышь на какой-либо вкладке, а затем выбрать ее:

private void tabControl1_MouseMove(object sender, MouseEventArgs e)
{
    Rectangle mouseRect = new Rectangle(e.X, e.Y, 1, 1);
    for (int i = 0; i < tabControl1.TabCount; i++)
    {
        if (tabControl1.GetTabRect(i).IntersectsWith(mouseRect))
        {
            tabControl1.SelectedIndex = i;
            break;
        }
    }
}
1 голос
/ 12 марта 2012

Попробуйте это:

private void tabControl1_MouseMove(object sender, MouseEventArgs e)
    {
        for (int i = 0; i < tabControl1.TabCount - 1; i++)
        {
            if (tabControl1.GetTabRect(i).Contains(e.X, e.Y))
            {
                tabControl1.SelectedIndex = i;
            }
        }
    }
...