收听选项卡控件中的选项卡单击

本文关键字:选项 单击 控件 | 更新日期: 2023-09-27 17:58:30

我很难弄清楚用户何时在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");
}

但当我点击一个选项卡时什么也没发生,控制台只在我点击与选项卡相关的窗口区域时写"点击测试"

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

我试过:

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

但我有一个错误:[APP NAME]是一个"字段",但使用起来像"类型"。。。''Form1.cs

收听选项卡控件中的选项卡单击

在Form Constructor 中实现如下建议

public Form1() {
  InitializeComponent();    
  Tabs.SelectedIndexChanged += new EventHandler(Tabs_SelectedIndexChanged);
}

然后实现

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

按如下方式处理TabControl SelectedIndexChanged事件:

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