我在 C#(Visual Studio 2010)中的 .NET TabControl 遇到了一个奇怪的问题。启动 Windows 窗体应用程序。添加一个选项卡控件和一个按钮。向两个标签页添加两个不同的标签,以便区分它们。按钮的目的只是充当下一个按钮;使用以下代码订阅其 Click 事件:
tabControl1.SelectTab(1);
假设用户在第一个选项卡上输入了错误的内容,因此当他们尝试转到第二个选项卡时,我们希望将它们发送回来,因此使用代码订阅选项卡控件的 SelectedIndexChanged 事件:
if(tabControl1.SelectedIndex == 1)
{
tabControl1.SelectTab(0);
}
现在运行程序并单击按钮。您会注意到,根据顶部突出显示的选项卡判断,第一个选项卡页是您所期望的似乎被选中的选项卡页。但是,根据实际出现在选项卡控件主体中的选项卡页判断,它仍然是显示的第二个选项卡页!调用各种控件的 Focus()、Update() 和 Refresh() 函数似乎没有帮助。这里发生了什么?