C#TabControl所选事件似乎不起作用

时间:2011-12-31 14:45:03

标签: c# tabcontrol

我正在尝试访问事件处理程序以选择选项卡,基本上我在tabControl1中有3个选项卡页面。我希望能够根据选择新选项卡时选择的选项卡来操作列表框中显示的内容。 这不起作用,只要选择了标签页,它就无法显示消息框,(当该行被取消注释时)

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

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

3 个答案:

答案 0 :(得分:9)

这不是正确的任务。你的第二个参数是错误的。

试试这个:

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);
}

答案 1 :(得分:4)

描述

Select不是正确的事件。您应该使用SelectedIndexChanged

  

SelectedIndexChanged 在SelectedIndex属性发生更改时发生。

示例

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

更多信息

答案 2 :(得分:3)

有一种更简单的方法可以做到这一点。 选项卡有一个事件

输入事件(在tabPage1本身的属性中) 不在选项卡控件属性

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