Как я могу получить TabPage из TabControl на основе точки? - PullRequest
2 голосов
/ 29 октября 2010

Конечно, это получил , чтобы быть легким; Мне просто не повезло с этим.

Как мне получить TabPage данного TabControl, чья вкладка содержит данный Point? Например, если я обрабатываю событие MouseUp и хочу узнать, на какой вкладке была мышь, когда она была отпущена.

Я пытался GetChildAtPoint, но это, кажется, всегда возвращает первую вкладку (если я не использую ее неправильно).

Ответы [ 2 ]

5 голосов
/ 29 октября 2010

Попробуйте:

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 голосов
/ 29 октября 2010

Вы можете попробовать использовать перегрузку GetChildAtPoint с GetChildAtPointSkip - эта ошибка подключения предполагает, что она может работать.

...