关于frmBaseChild.SetParameter方法说明与使用,打开窗体传入参数例子


  关于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




注意: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



第二步:数据字典模块主窗体重写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



第三步:frmCustomer窗体处理参数


C# Code:

protected override void InitializeForm()
{
   //处理打开窗体传入的参数
   if (_CurrentParameter != null)
   {
      //在此处理参数
      //省略代码, 请参数 frmCustomer.cs
   }
}

//来源:C/S框架网(www.csframework.com) QQ:1980854898



效果图:



贴图图片




C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:继承frmBaseChild基类窗体,为什么不显示“关闭”按钮?
下一篇:C#四舍五入类
评论列表

发表评论

评论内容
昵称:
关联文章

关于frmBaseChild.SetParameter方法说明使用打开传入参数例子
打开传入参数
跨模块打开,支持传入参数加载不同类型的数据
高级版V3.0,新增两个例子打开其它模块的
[原创]多个之间的参数传递数据共享(附:UML图)
关于SetEditorBindingValue方法使用
继承frmBaseChild基类,为什么不显示“关闭”按钮?
通过反射,调用DLL程序集某个类的静态方法打开
C# 子中调用父中的方法(或多之间方法调用)
DevExpress DateEdit组件是空日期,传入SQL参数报错解决方法
Delphi程序调用C#.Net编译的DLL并打开(详解)
用户数据操作报告(frmOperateReport)使用方法
Winform查询数据对话选择资料实现|C/S框架网
C/S框架代码注释如何?每个方法参数都有说明
指定单据号码自动打开业务单据并显示数据
创建TreeList及打开TreeListNode.Tag属性对应的
BUG01:打开(sender as ToolStripMenuItem)是null,取不到权限
VS2015 打开HTML设计编辑视图(Web编辑器)
关于Click事件sender参数问题
当接口的参数较多并且有可能更改的情况下使用结构更易扩展

热门标签