在一个button事件中,根据传入不同的string类型的参数,show不同的窗体出来,因为窗体很多,有没有另外的方法,简化一下switch (e.Tool.Key.ToString())
{
case "a":
a.show();
break;
case "b":
b.show();
break;
case "c":
....
}
{
case "a":
a.show();
break;
case "b":
b.show();
break;
case "c":
....
}
调试欢乐多
{
switch (PageState)
{
case WinState.Add://编辑(新增)
tspbtn_Modify_Click(sender, e);
break;
case WinState.Modify://编辑
tspbtn_Modify_Click(sender, e);
break;
case WinState.Audit://审核
tspbtn_Audit_Click(sender, e);
break;
case WinState.Close://关闭
tspbtn_Close_Click(sender, e);
break;
case WinState.Browse://列表
tspBtn_Detail_Click(sender, e);
break;
default://列表
tspBtn_Detail_Click(sender, e);
break;
}
}这是我的
{
try
{
if (dgv_Data.SelectedRows.Count > 0)
{
string path = AppDomain.CurrentDomain.BaseDirectory + @"config\receipt\ItemTransApply.xml";
FrmItemTranApply frm = new FrmItemTranApply(path);
frm.PageState = WinState.Browse;
frm.lngItemTransApplyeId = dgv_Data.SelectedRows[0].Cells["flngitemtransapplyid"].Value.ToInt();
string fchrAudit = dgv_Data.SelectedRows[0].Cells["fchraudit"].Value.ToStr();
if (fchrAudit == "已审核")
{
frm.lnlVisibleState = 1;
}
foreach (Form childrenForm in Application.OpenForms) //遍历已经激活的窗体
{
if (childrenForm.Name == "frmRetail") //保证窗体可以前后移动的设置
{
frm.MdiParent = childrenForm;
} if (childrenForm is FrmItemTranApply) //重新激活已经打开的窗体
{
childrenForm.Visible = true;
childrenForm.Activate();
return;
}
}
frm.ParentForm = this;//子父窗体的关联
frm.Show();//打开窗体
}
}
catch (Exception ex)
{
MessageBox.Show("发生未知错误:" + ex.Message, "美承业务系统", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}其中一个窗体
string fName = e.Tool.Key.ToString();
Form f = dicForm[fname];
f.Show();