当用户更改标签时,我正在使用TabControl_SelectedIndexChanged
事件。 TabControl.SelectedIndex
/ TabControl.SelectedTab
仅返回新标签。有什么方法可以获得上一个标签吗?或者每次更换标签时,我是否必须坚持使用当前标签显而易见的商店?
我想在某些情况下使用它来取消标签的更改,例如未保存的更改。
答案 0 :(得分:17)
如果要取消选项卡的更改,可以使用Deselecting
事件。在那里,您可以通过将提供的Cancel
的属性TabControlCancelEventArgs
设置为true来取消更改。
答案 1 :(得分:3)
查看http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selected%28v=vs.80%29.aspx
有些事件更适合您想要做的事情。
答案 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;
}
}