我有一个窗体和一个UserControl。 UserControl有一个菜单,表格有一个Tabstrip(常规,食品,维生素等)。

在UserControl中,我有以下代码:(表单名称为frmForm,表单中的选项卡名称为tabGeneral,tabFood,tabVitamins)

  frmForm fm=new frmForm();
  fm.tabMain.Selected=tabVitamins;


我从UserControl调用这些行以捕获要在表单上选择的选项卡,但是它没有选择“维生素”选项卡。

我要去哪里错了?我在表单中的选项卡具有“受保护的内部”访问说明符。

请指教。

谢谢,
卡提克

最佳答案

编写new frmForm()时,您正在创建frmForm的全新实例,然后将其丢弃。

要获取保存控件的frmForm实例,请调用FindForm()方法并将其强制转换为frmForm

例如:

frmForm myForm = FindForm() as frmForm;
if(myForm != null)
    myForm.tabMain.SelectedTab = myForm.tabVitamins;


如果控件采用其他形式,则此代码将不执行任何操作。



顺便说一句,.Net不支持匈牙利符号。
您的表格可能应命名为MainForm

07-27 13:24