gpt4 book ai didi

c# - 打开新的winform

转载 作者:太空狗 更新时间:2023-10-30 01:21:27 26 4
gpt4 key购买 nike

我有 TreeView ,每个节点标签都包含表单名称,当我单击节点时,我打开表单我的代码如下

  private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
NodeClick(Convert.ToString(e.Node.Tag));
}

public void NodeClick(string formName)
{
switch (formName)
{

case "frmPartMaster":
frmPartMaster partMaster = null;
if ((partMaster =
(frmPartMaster)Globale.IsFormAlreadyOpen(typeof(frmPartMaster)))
== null)
{
partMaster = new frmPartMaster();
partMaster.Show(this);

}
else
{
partMaster.Activate();
partMaster.WindowState = FormWindowState.Normal;
partMaster.BringToFront();
}
break;
}
}

这段代码工作正常,但我有 1000 种形式,对于每种形式,我都必须正确区分代码。如果我通过它打开它的表单,是否可以像在单个案例中一样打开它?

最佳答案

您可以通过调用 Activator.CreateInstance 创建表单类的实例

public void OpenOrActivateForm(string formType)
{
var formType = Type.GetType(formType);
var form = Globale.IsFormAlreadyOpen(formType);

if(form == null)
{
form = Activator.CreateInstance(formType);
from.Show(this);
}
else
{
form.Activate();
form.WindowState = FormWindowState.Normal;
form.BringToFront();
}
}

关于c# - 打开新的winform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com