当用户更改选项卡时,我正在使用TabControl_SelectedIndexChanged
事件。 TabControl.SelectedIndex
/ TabControl.SelectedTab
仅返回新选项卡。有没有办法可以得到先前的选项卡?还是必须坚持明显的每次更改选项卡时存储当前选项卡?
我想在特定条件下使用它来取消选项卡的更改,例如存在未保存的更改。
当用户更改选项卡时,我正在使用TabControl_SelectedIndexChanged
事件。 TabControl.SelectedIndex
/ TabControl.SelectedTab
仅返回新选项卡。有没有办法可以得到先前的选项卡?还是必须坚持明显的每次更改选项卡时存储当前选项卡?
我想在特定条件下使用它来取消选项卡的更改,例如存在未保存的更改。
如果你想要取消一个标签页的更改,可以使用 Deselecting
事件。在那里,你可以通过将提供的 TabControlCancelEventArgs
的属性 Cancel
设置为 true 来取消更改。
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;
}
}