我很难弄清楚如何知道用户何时点击了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
答案 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....
}