打开窗体并传入参数


新增功能: 打开窗体并传入参数。
在同一模块内打开窗体只需要调用MdiTools.OpenChildForm()方法,如果打开其它模块的窗体需要根据窗体的全名(FullName)获取窗体类型(Type),然后通过反射动态创建窗体。窗体实例定义是Form类型,如果要传入参数需要给Form定义一个SetParameter方法,调用如下:
C# Code:
//通过反射创建窗体实例.
form = (Form)formType.Assembly.CreateInstance(formType.FullName);
(form as IMdiChildForm).SetParameter(param);
//来源:C/S框架网(www.csframework.com) QQ:1980854898
//通过反射创建窗体实例.
form = (Form)formType.Assembly.CreateInstance(formType.FullName);
(form as IMdiChildForm).SetParameter(param);
//来源:C/S框架网(www.csframework.com) QQ:1980854898
在主程序打开系统管理模块的《公司设置》窗体:
C# Code:
public void OpenChildForm(string formFullName, string associatedMenuName, object param)
{
string formTypeName = "CSFramework.SystemModule.frmCompanyInfo";
IModuleBase module = _ModuleManager.FindModule(formTypeName);
if (module != null)
{
Form form = module.OpenForm(formTypeName, "menuCompanyInfo", "打开模块的窗体同时传入参数!");
if (form != null) form.Activate();//激活当前窗体
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
public void OpenChildForm(string formFullName, string associatedMenuName, object param)
{
string formTypeName = "CSFramework.SystemModule.frmCompanyInfo";
IModuleBase module = _ModuleManager.FindModule(formTypeName);
if (module != null)
{
Form form = module.OpenForm(formTypeName, "menuCompanyInfo", "打开模块的窗体同时传入参数!");
if (form != null) form.Activate();//激活当前窗体
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898

扫一扫加作者微信


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网