Как определить, какая TabPage активна в данный момент? - PullRequest
0 голосов
/ 29 июня 2011

Я хочу узнать, какая вкладка в моем окне активна.Моя цель примерно такая:

  if Tabpage1 is active then
   .....
  end if

  if Tabpage2 is active then
  ...
  end if

Я напишу это при закрытии формы.

Ответы [ 2 ]

8 голосов
/ 29 июня 2011

Вы должны запросить эту информацию у элемента управления container (элемент управления TabControl), а не у отдельных TabPage элементов управления, которые он размещает.

И у вас есть два варианта сделать это, в зависимости от типа информации, которую вы хотите получить.Вы можете использовать свойство SelectedIndex , которое возвращает нулевой индекс текущей выбранной вкладки, или вы можете использовать SelectedTabсвойство , которое возвращает экземпляр класса TabPage, представляющий выбранную на данный момент вкладку.

Пример кода:

If myTabControl.SelectedIndex = 1 Then
    ' Do something for the first tab page
ElseIf myTabControl.SelectedIndex = 2 Then
    ' Do something for the second tab page
Else
    ' Uh-oh! One of the other tab pages that you didn't
    ' mention in your question is selected!
End If

Или:

If myTabControl.SelectedTab = myFirstTabPage Then
    ' Do something for the first tab page
ElseIf myTabControl.SelectedTab = mySecondTabPage Then
    ' Do something for the second tab page
Else
    ' Uh-oh! One of the other tab pages that you didn't
    ' mention in your question is selected!
End If
0 голосов
/ 27 августа 2016

Это лучший способ, особенно если вы настраиваете порядок вкладок программно или в самом представлении.

if (tabControl.SelectedTab.Name == "tabName" )
{
     .. do stuff
}
...