我检查了一个表格是否已经打开。如果不是,它将打开,如果是,它将激活表单 + 使用 SwitchTab(int i) 函数。这是一些代码:
public partial class Insert : Form {
public Insert() {
InitializeComponent();
}
public Insert(int tab) : this() {
SwitchTab(tab);
}
public void SwitchTab(int tab) {
tabControl1.SelectedIndex = tab;
}
}
private void OpenInsert(int tab) {
// Loop through all forms
foreach (Form f in Application.OpenForms) {
// Check if form of Insert type is found
if (f.GetType() == typeof(Insert)) {
f.Activate();
// Unknown function
f.SwitchTab(tab)
return;
}
}
// Not found, open form
Insert insert = new Insert(tab);
insert.Show();
}
这背后的原因是插入表单有多个选项卡,如果单击菜单中的其他按钮,我想切换选项卡。问题是我想调用 SwitchTab() 函数的地方,编译器不知道它是一个 Insert 类,但它只有在它是时才通过。那么有什么方法可以强制让它知道它是插入的一个实例吗?