当我使用以下代码切换选项卡时
tabControl1.SelectTab("MyNextTab");
它为要切换的选项卡和要切换到的选项卡调用 tabPage_Enter。我希望它被调用它正在切换到的选项卡,而不是它正在切换的选项卡。我将如何关闭它。我确实知道它什么时候发生,所以如果有一个调用,我可以关闭调用该选项卡的 enter 方法,我可以实现它。
当我使用以下代码切换选项卡时
tabControl1.SelectTab("MyNextTab");
它为要切换的选项卡和要切换到的选项卡调用 tabPage_Enter。我希望它被调用它正在切换到的选项卡,而不是它正在切换的选项卡。我将如何关闭它。我确实知道它什么时候发生,所以如果有一个调用,我可以关闭调用该选项卡的 enter 方法,我可以实现它。
是的,如果我使用按钮更改选定的选项卡,我会重现。TabControl 在更改 SelectedIndex 之前将焦点强制到自身上。这样做似乎是为了避免 Validating 事件出现问题。焦点更改产生第一个 Enter 事件,对于活动选项卡,选项卡更改然后产生第二个 Enter 事件。
知道这一点后,您可以设置一个辅助布尔成员,指示应忽略第一个 Enter 事件。小心检查当前选项卡是否已经不是您要选择的选项卡。在一个完美的世界中,这种行为应该无关紧要。焦点确实首先移到了活动选项卡。
您可以使用它检查活动选项卡的索引和解决方法吗?
将代码包装在检查中的事件中,以便它仅在您需要时处理。
如果您可以编写代码将其关闭,那么您可以编写代码来设置阻止事件中的代码运行的状态。