关于frmBaseChild.SetParameter方法说明与使用,打开窗体传入参数例子
关于frmBaseChild.SetParameter方法说明与使用,打开窗体传入参数例子
frmBaseChild.SetParameter方法定义:
C# Code:
/// <summary>
/// 打开当前窗体传入的预设参数, 界面需要根据此参数做特殊处理
/// </summary>
protected object _CurrentParameter = null;
/// <summary>
/// 给窗体设置参数,SetParameter方法在在Form.Load事件之前运行的, 因此需要在Form.Load事件内处理传入的参数。
/// 参考:MdiTools.OpenChildForm(IMdiForm mdi, Type formType, ToolStripMenuItem sender, object param)方法
/// </summary>
/// <param name="param"></param>
public virtual void SetParameter(object param) { _CurrentParameter = param; }
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 打开当前窗体传入的预设参数, 界面需要根据此参数做特殊处理
/// </summary>
protected object _CurrentParameter = null;
/// <summary>
/// 给窗体设置参数,SetParameter方法在在Form.Load事件之前运行的, 因此需要在Form.Load事件内处理传入的参数。
/// 参考:MdiTools.OpenChildForm(IMdiForm mdi, Type formType, ToolStripMenuItem sender, object param)方法
/// </summary>
/// <param name="param"></param>
public virtual void SetParameter(object param) { _CurrentParameter = param; }
//来源:C/S框架网(www.csframework.com) QQ:1980854898
注意:SetParameter方法在在Form.Load事件之前运行的, 因此需要在Form.Load事件内处理传入的参数!
DEMO:
需求: 采购模块“供应商管理”打开数据字典窗体的“客户管理”,仅显示供应商资料
第一步:采购管理模块菜单的Click事件:
C# Code:
private void menuPurchaseSupplierMgr_Click(object sender, EventArgs e)
{
//打开数据字典窗体的客户/供应商资料管理,仅显示供应商类型的数据
(MdiTools.MainForm as IMdiForm).OpenModuleForm("CSFramework4.DataDictionary.frmCustomer", "menuItemCustomer", "SPL");
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
private void menuPurchaseSupplierMgr_Click(object sender, EventArgs e)
{
//打开数据字典窗体的客户/供应商资料管理,仅显示供应商类型的数据
(MdiTools.MainForm as IMdiForm).OpenModuleForm("CSFramework4.DataDictionary.frmCustomer", "menuItemCustomer", "SPL");
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
第二步:数据字典模块主窗体重写OpenForm方法
C# Code:
/// <summary>
/// 跨模块打开功能窗体的主接口
/// </summary>
/// <param name="formFullName">窗体全名</param>
/// <param name="menuName">菜单名</param>
/// <param name="param">传入参数</param>
/// <returns></returns>
public override Form OpenForm(string formFullName, string menuName, object param)
{
Form form = null;
if (formFullName == typeof(frmCustomer).FullName)
form = MdiTools.OpenChildForm(this.MdiParent as IMdiForm, typeof(frmCustomer), menuItemCustomer, param);
return form;
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 跨模块打开功能窗体的主接口
/// </summary>
/// <param name="formFullName">窗体全名</param>
/// <param name="menuName">菜单名</param>
/// <param name="param">传入参数</param>
/// <returns></returns>
public override Form OpenForm(string formFullName, string menuName, object param)
{
Form form = null;
if (formFullName == typeof(frmCustomer).FullName)
form = MdiTools.OpenChildForm(this.MdiParent as IMdiForm, typeof(frmCustomer), menuItemCustomer, param);
return form;
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
第三步:frmCustomer窗体处理参数
C# Code:
protected override void InitializeForm()
{
//处理打开窗体传入的参数
if (_CurrentParameter != null)
{
//在此处理参数
//省略代码, 请参数 frmCustomer.cs
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
protected override void InitializeForm()
{
//处理打开窗体传入的参数
if (_CurrentParameter != null)
{
//在此处理参数
//省略代码, 请参数 frmCustomer.cs
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
效果图:


参考文档:
关于ORM实体类主键设置的几点建议(Tag:复合主键,ISID,PK)|C/S开发框架
CSFrameworkV6 - 单表基础资料关于res扩展模型处理方案
.NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架
Winform软件快速开发平台 - 关于数据权限,表格列权限控制两种解决方案
关于LookupEdit组件选择一条纪录不触发EditValueChanged事件
关于CSFramework.WebApi框架NuGet程序包版本升级版本统一问题
关于NavBarControl点击ExpandButton缩放后不能控制Dock组件的问题
关于开发框架字段名管理功能(frmFieldNameMgr类)
关于购买阿里云ECS服务器提供的双IP用途
CSFramework.DB关于设置全局变量CommandTimeOut/ConnectionTimeOut的测试案例
关于C/S快速开发框架采用的文本加密解密策略|C/S框架网
关于版权问题:如果使用贵公司的框架版权如何进行登记和授权?
关于C/S框架网C#.NET快速开发框架现场培训
关于Winform框架及C/S快速开发平台
关于业务单据主从表导入数据,销售订单(SO)的数据导入到销售退货单(SR)
关于大数据量访问,是否考虑数据脱机缓存的模式
关于ORM实体类主键设置的几点建议(Tag:复合主键,ISID,PK)|C/S开发框架
CSFrameworkV6 - 单表基础资料关于res扩展模型处理方案
.NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架
Winform软件快速开发平台 - 关于数据权限,表格列权限控制两种解决方案
关于LookupEdit组件选择一条纪录不触发EditValueChanged事件
关于CSFramework.WebApi框架NuGet程序包版本升级版本统一问题
关于NavBarControl点击ExpandButton缩放后不能控制Dock组件的问题
关于开发框架字段名管理功能(frmFieldNameMgr类)
关于购买阿里云ECS服务器提供的双IP用途
CSFramework.DB关于设置全局变量CommandTimeOut/ConnectionTimeOut的测试案例
关于C/S快速开发框架采用的文本加密解密策略|C/S框架网
关于版权问题:如果使用贵公司的框架版权如何进行登记和授权?
关于C/S框架网C#.NET快速开发框架现场培训
关于Winform框架及C/S快速开发平台
关于业务单据主从表导入数据,销售订单(SO)的数据导入到销售退货单(SR)
关于大数据量访问,是否考虑数据脱机缓存的模式
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
