TabControl取消选项卡的更改

时间:2011-11-29 20:22:55

标签: c# .net winforms

当用户更改标签时,我正在使用TabControl_SelectedIndexChanged事件。 TabControl.SelectedIndex / TabControl.SelectedTab仅返回新标签。有什么方法可以获得上一个标签吗?或者每次更换标签时,我是否必须坚持使用当前标签显而易见的商店?

我想在某些情况下使用它来取消标签的更改,例如未保存的更改。

3 个答案:

答案 0 :(得分:17)

如果要取消选项卡的更改,可以使用Deselecting事件。在那里,您可以通过将提供的Cancel的属性TabControlCancelEventArgs设置为true来取消更改。

答案 1 :(得分:3)

答案 2 :(得分:1)

我使用tabControl Selected方法来防止用户选择某个选项卡,换句话说,是禁用选项卡页面。

TabPage currentPage;

private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
    if (e.TabPage == tabNotAllowed)
    {
        tabControl1.SelectedTab = currentPage;
        MessageBox.Show("You cannot use the tab you selected.");
    }
    else
    {
        currentPage = e.TabPage;
    }
}