Выбранное событие C# TabControl, похоже, не работает

Я пытаюсь получить доступ к обработчику событий для выбора вкладки, в основном у меня есть 3 страницы вкладок внутри tabControl1. Я хочу иметь возможность манипулировать тем, что отображается в списке, на основе того, какая вкладка выбрана в данный момент, как выбрана новая вкладка. Это не работает, каждый раз, когда выбрана страница вкладки, она не показывает окно сообщения (когда эта строка не раскомментирована)

private void tabControl1_Selected(Object sender, EventArgs e)
{
    //MessageBox.Show(tabControl1.SelectedIndex.ToString());3

    if (tabControl1.SelectedIndex == 0)
    {
        //do something
    }
}

3 ответов


это не правильное задание. Ваш второй параметр неверен.

попробуйте это:

private void tabControl1_Selected(object sender, TabControlEventArgs e) {
  if (e.TabPage.Name == tabPage1.Name)
    MessageBox.Show("First Tab!");
}

и убедитесь, что он подключен правильно (похоже, что у вас нет события, фактически обработанного):

public Form1() {
  InitializeComponent();

  tabControl1.Selected += new TabControlEventHandler(tabControl1_Selected);
}

описание

Select не подходит. Вы должны использовать SelectedIndexChanged.

SelectedIndexChanged происходит при изменении свойства SelectedIndex.

пример

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (tabControl1.SelectedIndex == 0)
    {
        //do something
    }
}

Дополнительная Информация


есть более простой способ сделать это. существует событие для вкладки selected

введите событие (в свойствах самой tabPage1 не на вкладке свойства элемента управления

private void tabPage1_Enter(object sender, EventArgs e)
{
    MessageBox.Show("helllllllllllo");
}