C# 侦听选项卡控件中的选项卡单击

C# 侦听选项卡控件中的选项卡单击,c#,.net,winforms,visual-studio,visual-studio-2012,C#,.net,Winforms,Visual Studio,Visual Studio 2012,我正在努力弄清楚如何知道用户何时单击windows窗体应用程序中的某个选项卡按钮 目前我有以下设置(Form1.Designer.cs): 在我的Form1.cs文件中: private void tabStartPageView_Click(object sender, EventArgs e) { Console.WriteLine("Click Tested"); } 但当我点击一个选项卡时什么也没发生,当我在与该选项卡相关联的窗口区域内点击时,控制台只写“点击测试” 编辑:我需

我正在努力弄清楚如何知道用户何时单击windows窗体应用程序中的某个选项卡按钮

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

在我的Form1.cs文件中:

private void tabStartPageView_Click(object sender, EventArgs e)
{
    Console.WriteLine("Click Tested");
}
但当我点击一个选项卡时什么也没发生,当我在与该选项卡相关联的窗口区域内点击时,控制台只写“点击测试”

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

我试过:

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

但我在说:[APP NAME]是一个“字段”,但像“type”一样使用时出错了…\Form1.cs

在表单构造函数中实现如下建议

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....
 }

单击选项卡将更改所选选项卡?您可以试试
selectedindexchanged
tabindexchanged
event@huMptyduMpty单击某个选项卡会触发一些检查,这些检查基于我想要构建的与该单击选项卡关联的选项卡视图/窗口。你能详细介绍一下你提供的建议吗?对这一点仍然陌生:)好的,你现在有一个答案:)我在理解如何正确实现它时遇到了一个问题,你能定义“Tabs”、“Tabs\u SelectedIndexChanged”、“TabPage”和“TaskListPage”是否应该更改以适应我的元素命名,或者它们中的一些保持不变吗?“Tab_Selected”方法是如何触发的?很抱歉,如果这是显而易见的,我只是感到困惑。在选定的事件处理程序上,您可以将发送者强制转换到适当的控件并检查其名称。如果事件是从TabPage2生成的,则可以触发key事件。每当你将Tabpage1更改为TabPage2时,它就会被触发。你能提供一个如何触发此方法的示例吗?我重命名了变量,它似乎是正确的,但是每当我测试它时,什么都不会发生,所以我想它需要以某种方式被触发?
 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage1"])
     {
         MessageBox.Show("tabPage1");
     }
     // And so on....
 }