Abra um formulário se não houver outra instância dele. Open - Pass Type to a Method
Quero simplificar parte do meu código. Portanto, eu quero fazer uma função que verifica, se um determinado formulário já está aberto. No momento, tenho o código abaixo de cada botão no meu formulário de início.
private void button_parts_Click(object sender, EventArgs e)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm is frm_parts) { return; }
}
frm_Teile newForm = new frm_parts();
newForm.Show();
}
Agora eu gostaria de ter algo como:
private void button_parts_Click(object sender, EventArgs e)
{
StartNewForm(frm_parts);
}
private void StartNewForm(Type myForm)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm is myForm) { return; }
}
myForm newForm = new myForm();
newForm.Show();
}
Mas não posso passar um tipo para uma função EDIT: Você certamente pode, mas eu não sabia como e por onde começar.
Existe uma maneira (nother) de conseguir o que eu preciso?