C# 在鼠标上方更改TabControl的SelectedTab

C# 在鼠标上方更改TabControl的SelectedTab,c#,winforms,mouse,tabcontrol,C#,Winforms,Mouse,Tabcontrol,我有一个带有TabControl的Windows窗体项目 当你用指针悬停在所选选项卡上时,有人知道如何更改该选项卡吗?试试以下方法: private void tabControl1_MouseMove(object sender, MouseEventArgs e) { for (int i = 0; i < tabControl1.TabCount; i++) { if (tabControl1.GetTabRect(i)

我有一个带有
TabControl
的Windows窗体项目

当你用指针悬停在所选选项卡上时,有人知道如何更改该选项卡吗?

试试以下方法:

private void tabControl1_MouseMove(object sender, MouseEventArgs e)
    {
        for (int i = 0; i < tabControl1.TabCount; i++)
        {
            if (tabControl1.GetTabRect(i).Contains(e.X, e.Y))
            {
                tabControl1.SelectedIndex = i;
                break;
            }
        }
    }
private void tabControl1\u MouseMove(对象发送方,MouseEventArgs e)
{
for(int i=0;i
您可以使用TabControl的MouseMove事件来检测您的鼠标是否出现在任何选项卡上,然后可以选择它:

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;
        }
    }
}
private void tabControl1\u MouseMove(对象发送方,MouseEventArgs e)
{
矩形=新矩形(e.X,e.Y,1,1);
for(int i=0;i
有趣,可能需要为控件中的所有选项卡设置和处理
tabcontrol.TabPages[0].MouseHover