Проверьте, выбрана ли специальная закладка (активна)

Я делаю событие, чтобы проверить, активна ли определенная вкладка в элементе управления вкладкой.

Дело в том, что оно вызывает событие, если эта вкладка в элементе управления вкладкой является текущей вкладкой. Любой код, который даст мне то, что мне нужно?

Ответ 1

Предполагая, что вы смотрите в Winform, на вкладке

есть событие SelectedIndexChanged

Теперь в нем вы можете проверить свою конкретную вкладку и продолжить логику

private void tab1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (tab1.SelectedTab == tab1.TabPages["tabname"])//your specific tabname
     {
         // your stuff
     }
}

Ответ 2

Чтобы проверить, является ли конкретная закладка текущей страницей элемента управления вкладки, легко; просто используйте свойство SelectedTab элемента управления вкладкой:

if (tabControl1.SelectedTab == someTabPage)
{
// Do stuff here...
}

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

Например, у меня есть приложение, которое использует таймер для регулярного опроса данных по TCP/IP-соединению, но чтобы избежать ненужного трафика TCP/IP, я просматриваю только те вещи, которые обновляют элементы графического интерфейса на текущей выбранной вкладке.

Ответ 3

в .Net 4 может использовать

if (tabControl1.Controls[5] == tabControl1.SelectedTab)
                MessageBox.Show("Tab 5 Is Selected");

ИЛИ

if ( tabpage5 == tabControl1.SelectedTab)
         MessageBox.Show("Tab 5 Is Selected");

Ответ 4

По какой-то причине вышеупомянутое не сработало бы для меня. Вот что:

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

где tabControl.SelectedTab.Name - это атрибут имени, назначенный этой странице в самом tabcontrol.