在选项卡控件中单击选项卡单击

时间:2014-04-16 10:36:07

标签: c# .net winforms visual-studio visual-studio-2012

我很难弄清楚如何知道用户何时点击了Windows窗体应用程序中的某个标签按钮。

目前我有以下设置(Form1.Designer.cs):

//Adding click event handler to desired tab
this.tabStartPageView.Click += new System.EventHandler(this.tabStartPageView_Click);

在我的Form1.cs文件中:

private void tabStartPageView_Click(object sender, EventArgs e)
{
    Console.WriteLine("Click Tested");
}

但是当我单击选项卡时没有任何反应,当我在与选项卡关联的窗口区域内单击时,控制台只会写入“Click Tested”。

编辑:我需要知道这一点的原因是我可以在选项卡上点击xml文件中的数据并根据它动态构建其视图。

我试过了:

if(tabControlViews.SelectedTab == tabStartPageView)
{
    //do something
}

但是我收到错误说:[APP NAME]是一个'字段'但是像'type'一样使用... \ Form1.cs

2 个答案:

答案 0 :(得分:1)

在表单构造函数

中按照以下建议实现它
public Form1() {
  InitializeComponent();    
  Tabs.SelectedIndexChanged += new EventHandler(Tabs_SelectedIndexChanged);
}

而不是实现它

void Tabs_Selected(object sender, TabControlEventArgs e) {
  if (e.TabPage == TaskListPage) {

  }
}

答案 1 :(得分:0)

处理TabControl SelectedIndexChanged事件,如下所示:

 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage1"])
     {
         MessageBox.Show("tabPage1");
     }
     // And so on....
 }