Как я могу получить TabPage из TabControl на основе точки?
Конечно, это должно быть легко; Мне просто не повезло с этим.
Как бы я получить TabPage
данного TabControl
чья вкладка содержит данный Point
? Например, если я обрабатываю MouseUp
событие, и я хочу знать, на какой вкладке была мышь, когда она была выпущена.
Я старался GetChildAtPoint
, но это, кажется, всегда возвращает первую вкладку (если я не использую это неправильно).
2 ответа
Решение
Попробуй это:
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;
}
Удачи!
Вы можете попробовать использовать перегрузку GetChildAtPoint с GetChildAtPointSkip - эта ошибка Connect предполагает, что она может работать.