如何从基于Point的TabControl获取TabPage?

Dan*_*Tao 2 .net mouse tabcontrol tabpage winforms

当然这要容易; 我只是没有运气.

我该如何获得TabPage给定的TabControl,其标签包含给定Point?例如,如果我正在处理MouseUp事件,并且我想知道鼠标在发布时哪个选项卡已经结束.

我试过GetChildAtPoint,但似乎总是返回第一个标签(除非我使用它错了).

Hom*_*mam 5

试试这个:

TabPage GetPageByPoint(TabControl tabControl, Point point)
{
    for (int i = 0; i < tabControl.TabPages.Count; i++)
    {
        TabPage page = tabControl.TabPages[i];
        if (tabControl.GetTabRect(i).Contains(point))
            return page;
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

祝好运!