Проверьте, выбрана ли специальная закладка (активна)
Я делаю событие, чтобы проверить, активна ли определенная вкладка в элементе управления вкладкой.
Дело в том, что оно вызывает событие, если эта вкладка в элементе управления вкладкой является текущей вкладкой. Любой код, который даст мне то, что мне нужно?
Ответы
Ответ 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.