代码之家  ›  专栏  ›  技术社区  ›  Dan Tao

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

  •  2
  • Dan Tao  · 技术社区  · 14 年前

    得到了 简单点,我只是运气不好。

    TabPage 一个给定的 TabControl Point ? 例如,如果我处理 MouseUp 事件,我想知道鼠标释放时哪个选项卡结束了。

    我试过了 GetChildAtPoint ,但这似乎总是返回第一个选项卡(除非我用错了)。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Homam    14 年前

    试试这个:

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

        2
  •  2
  •   stuartd saeed    14 年前

    您可以尝试将GetChildAtPoint的重载与GetChildAtPointSkip一起使用- this Connect bug