保留以前选择的选项卡的记录

时间:2013-06-06 18:12:50

标签: c# tabcontrol

想象一下,您有一个TabControl,您可以在其中关闭TabPage并按需要重新排序。您希望在关闭之后重新分配先前选择的页面,因此您需要保留以前索引的记录。你最后问自己:是否有可能在SelectedIndex TabControl更改之前触发事件?

然后搜索TabControl提议的所有事件,找到的最接近的事件是SelectedIndexChanged,其中EventArgs参数不包含先前索引的信息。

您还尝试使用OnClick事件记录上一个索引,但由于控件的关闭功能无法实现此方法而失败。

为什么这种方法不可能?因为当您关闭标签时,您也会选择它,因此您最终得到SelectedIndex == PreviouIndexDispose()此页面并且根本没有选择标签。

所以你最终决定来这里并提出同样的问题:是否有可能在SelectedIndex TabControl发生变化之前触发之前触发的事件? 如果不是,保留以前选择的索引的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

像LarsTech建议的那样,我使用了Deselecting并继续如下:

// Class definition ...
public TabPage PreviousTab { get; private set;}   
private void Deselecting(object sender, TabControlCancelEventArgs e)
{
if (e.TabPage != null)
PreviousTab = e.TabPage;
}