类似这样的东西:
private void secondTabPageInTabControl_Click(object sender, System.EventArgs e)
{
this.myTreeView.Enable = false;
} //then I chose other tabpages and it becomes enable
请改用TabControl的SelectedIndexChanged事件。它会在选择新选项卡时告诉您。使用类似的代码:
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
this.myTreeView.Enable = tabControl1.SelectedTab != tabPage2;
}
或者按索引,可读性较差:
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
this.myTreeView.Enable = tabControl1.SelectedIndex != 1;
}
另一个解决方案,但请注意,如果使用太多的选项卡,这可能会变得臃肿:
private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
UpdateUI(e.TabPageIndex);
}
public void UpdateUI(int index)
{
switch (index)
{
case 0:
treeView1.Enabled = true;
break;
case 1:
treeView1.Enabled = false;
break;
case 2:
treeView1.Enabled = false;
break;
default:
treeView1.Enabled = false;
break;
}
}