Winform和用户控件 - C#

1 .net c# user-controls winforms

我有一个Form和一个UserControl.UserControl有一个菜单,表单有一个tabtrip(一般,食物,维生素等).

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

  frmForm fm=new frmForm();
  fm.tabMain.Selected=tabVitamins;
Run Code Online (Sandbox Code Playgroud)

我从UserControl调用这些行来捕获选项卡以在表单上选中,但它不会选择维生素选项卡.

我哪里错了?对于表单中的选项卡,我有访问说明符作为Protected Internal.

请指教.

谢谢,Karthick

SLa*_*aks 7

当你编写时new frmForm(),你正在创建一个全新的实例frmForm,然后将其丢弃.

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

例如:

frmForm myForm = FindForm() as frmForm; 
if(myForm != null)
    myForm.tabMain.SelectedTab = myForm.tabVitamins;
Run Code Online (Sandbox Code Playgroud)

如果控件是其他形式,则此代码不会执行任何操作.


顺便说一句,匈牙利的符号在.Net中是不受欢迎的.
您的表单可能应该被命名为MainForm.