【问题标题】:Change SelectedTab of TabControl on MouseOver在 MouseOver 上更改 TabControl 的 SelectedTab
【发布时间】:2021-04-19 13:05:04
【问题描述】:

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

有谁知道当您将指针悬停在SelectedTab 上时如何更改它?

【问题讨论】:

  • 有趣! ,也许您需要为控件中的所有选项卡设置和处理tabcontrol.TabPages[0].MouseHover

标签: c# winforms mouse tabcontrol


【解决方案1】:

您可以使用 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;
        }
    }
}

【讨论】:

    【解决方案2】:

    试试这个:

    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;
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2017-07-06
      • 1970-01-01
      • 2015-02-06
      • 2016-04-25
      • 2018-03-25
      • 1970-01-01
      相关资源
      最近更新 更多