问题描述
Form1中放置了选项卡控件在其中自己写了个方法如下publicvoidbtt(){tabControl1.SelectTab(tabPage1);}然后我在Form2中调用这个方法Form1ff=newForm1();ff.btt();现在的问题是,运行后进行操作在Form1中的选项卡控件并没有变换到tabPage1上,但我用断点调试检测到tabControl1.SelectTab(tabPage1);这个语句是被执行了的,为什么没有引起选项卡控件的变换呢???同时我发现,这个问题只存在于跨窗体操作,如果在同一窗体下,比如在Form1中调用btt()方法是可以实现选项卡的变换的。求大神帮忙解决这个问题
解决方案
解决方案二:
用事件。。。
解决方案三:
怎么用,用事件我不会啊
解决方案四:
Form1:privatevoidbutton1_Click(objectsender,EventArgse){Form2f2=newForm2();f2.SelectTabItem+=SelectTabItem;f2.Show();}privatevoidSelectTabItem(){this.tabControl1.SelectedIndex=1;}
Form2:publicdelegatevoidSelectTabItemEvent();publiceventSelectTabItemEventSelectTabItem;privatevoidbutton1_Click(objectsender,EventArgse){if(this.SelectTabItem!=null){this.SelectTabItem();}}
解决方案五:
还是不可以啊,还有别的办法吗
解决方案六:
//form1publicvoidabc(){tabControl1.SelectedIndex=1;}//form2Form1f1=newForm1();f1.Show();f1.abc();