没有合适的资源?快使用搜索试试~ 我知道了~
.NET Winform窗体参数传递大全
5星 · 超过95%的资源 需积分: 20 14 下载量 100 浏览量
2008-10-06
13:54:00
上传
评论
收藏 8KB TXT 举报
温馨提示
试读
7页
Winform窗体参数传递大全,相当的有用啊!
资源推荐
资源详情
资源评论
窗体的参数传递
对于窗体间的数据传递,是刚开始从事.Net窗体应用程序开发人员碰到的一个常见问题,在此讲几个常见的实现方式。此节内容适用于模式窗体或非模式窗体,部分方式延伸到一般类的操作。
(1)构造函数参数传递
通过构造函数传递参数应该是比较基本的参数传递方式,重载构造函数,通过带参数的构造函数来实例化窗体。
在窗体类内部定义参数变量,
private object myParams;
实现构造函数,
public OptionForm(object parameters)
{
InitializeComponent();
this.myParams = parameters;//设置参数引用
}
实例化窗体,
OptionForm form = new OptionForm( myParams );
在实际使用过程中,需要注意传入的是引用类型还是值类型,处理方式会有所不同。
(2)使用窗体的属性
说起属性关联,上面已经提到过Form.Owner属性,下面笔者根据MSDN文档来比较完整的讲一下,大部分的文字来自MSDN文档,为保证其完整性,对其中一些属性描述进行了扩展。
Form.Owner 属性。获取或设置拥有此窗体的窗体。
语法,public Form Owner { get; set; }
若要使某窗体归另一个窗体所有,可为其 Owner 属性分配一个对将成为所有者的窗体的引用。当一个窗体归另一窗体所有时,它便随着所有者窗体最小化和关闭。例如,如果 Form2 归窗体 Form1 所有,则关闭或最小化 Form1 时,Form2 也会关闭或最小化。并且附属窗体从不显示在其所有者窗体后面。可以将附属窗体用于查找和替换窗口之类的窗口,当选定所有者窗体时,这些窗口不应消失。
Form.OwnedForms 属性。获取 Form 对象的数组,这些对象表示此窗体拥有的所有窗体。
语法,public Form[] OwnedForms { get; }
此属性返回包含此窗体拥有的所有窗体的数组。要使某窗体归另一个窗体所有,可调用 AddOwnedForm 方法。分配给所有者窗体的窗体将保持被拥有状态,直到调用了 RemoveOwnedForm 方法。如果窗体是多文档界面 (MDI) 父窗体,则除了当前打开的所有 MDI 子窗体外,此属性将返回所有显示的窗体。
Form.MdiChildren 属性。获取窗体的数组,这些窗体表示以此窗体作为父级的多文档界面 (MDI) 子窗体。
对于窗体间的数据传递,是刚开始从事.Net窗体应用程序开发人员碰到的一个常见问题,在此讲几个常见的实现方式。此节内容适用于模式窗体或非模式窗体,部分方式延伸到一般类的操作。
(1)构造函数参数传递
通过构造函数传递参数应该是比较基本的参数传递方式,重载构造函数,通过带参数的构造函数来实例化窗体。
在窗体类内部定义参数变量,
private object myParams;
实现构造函数,
public OptionForm(object parameters)
{
InitializeComponent();
this.myParams = parameters;//设置参数引用
}
实例化窗体,
OptionForm form = new OptionForm( myParams );
在实际使用过程中,需要注意传入的是引用类型还是值类型,处理方式会有所不同。
(2)使用窗体的属性
说起属性关联,上面已经提到过Form.Owner属性,下面笔者根据MSDN文档来比较完整的讲一下,大部分的文字来自MSDN文档,为保证其完整性,对其中一些属性描述进行了扩展。
Form.Owner 属性。获取或设置拥有此窗体的窗体。
语法,public Form Owner { get; set; }
若要使某窗体归另一个窗体所有,可为其 Owner 属性分配一个对将成为所有者的窗体的引用。当一个窗体归另一窗体所有时,它便随着所有者窗体最小化和关闭。例如,如果 Form2 归窗体 Form1 所有,则关闭或最小化 Form1 时,Form2 也会关闭或最小化。并且附属窗体从不显示在其所有者窗体后面。可以将附属窗体用于查找和替换窗口之类的窗口,当选定所有者窗体时,这些窗口不应消失。
Form.OwnedForms 属性。获取 Form 对象的数组,这些对象表示此窗体拥有的所有窗体。
语法,public Form[] OwnedForms { get; }
此属性返回包含此窗体拥有的所有窗体的数组。要使某窗体归另一个窗体所有,可调用 AddOwnedForm 方法。分配给所有者窗体的窗体将保持被拥有状态,直到调用了 RemoveOwnedForm 方法。如果窗体是多文档界面 (MDI) 父窗体,则除了当前打开的所有 MDI 子窗体外,此属性将返回所有显示的窗体。
Form.MdiChildren 属性。获取窗体的数组,这些窗体表示以此窗体作为父级的多文档界面 (MDI) 子窗体。
语法,public Form[] MdiChildren { get; }
此属性使您得以获取对当前在某 MDI 父窗体中打开的所有 MDI 子窗体的引用。若要创建 MDI 子窗体,请将要成为 MDI 父窗体的 Form 分配给该子窗体的 MdiParent 属性。可以使用此属性依次通过所有 MDI 子窗体,以执行一些操作,如当 MDI 父窗体关闭时将数据保存到数据库中,或者根据应用程序中执行的操作更新子窗体上的字段。
Form.MdiParent 属性。获取或设置此窗体的当前多文档界面 (MDI) 父窗体。
语法,public Form MdiParent { get; set; }
若要创建 MDI 子窗体,请将要成为 MDI 父窗体的 Form 分配给该子窗体的 MdiParent 属性。可以从某 MDI 子窗体使用此属性来获取所有子窗体都需要的全局信息或者调用对所有子窗体执行操作的方法。
Form.ActiveForm 静态属性。获取此应用程序的当前活动窗体。
语法,public static Form ActiveForm { get; }
表示当前活动窗体,或者如果没有活动窗体,则为空引用。可以使用此方法获得对当前活动窗体的引用,以在该窗体或其控件上执行操作。
Form.ActiveMdiChild 属性。获取当前活动的多文档界面 (MDI) 子窗口。
语法,public Form ActiveMdiChild { get; }
返回表示当前活动的 MDI 子窗口的 Form,或者如果当前没有子窗口,则返回 空引用。可使用此方法确定 MDI 应用程序中是否有任何打开的 MDI 子窗体。也可使用此方法从 MDI 子窗口的 MDI 父窗体或者从应用程序中显示的其他窗体对该 MDI 子窗口执行操作。
ContainerControl.ParentForm 属性。获取将容器控件分配给的窗体。
语法,public Form ParentForm { get; }
将容器控件分配给的 Form。
以上属性MSDN提供相应的代码事例,可直接拿来调试使用。
(3)使用公共属性
使用公共属性也是一种比较常用的方式,通过窗体设计器添加的控件默认访问修饰符为private级别,可以设置成public或Internal(在程序集内部可见)来对外公开。比如对窗体中的Button进行公开,那就可以访问Button的相关属性,同时也可以注册事件或撤销事件注册。如,
OptionForm form = new OptionForm();
form.buttonOK.Click += new EventHandler(buttonOK_Click);
form.ShowDialog();
对于只允许读取访问或修改访问的控件或变量可以通过属性来控制。对(1)方式进行修改,去除重载构造函数,增加属性也可以实现同样的效果。
public object MyParams
{
get { return this.myParams; }
set { this.myParams = value; }
}
此属性使您得以获取对当前在某 MDI 父窗体中打开的所有 MDI 子窗体的引用。若要创建 MDI 子窗体,请将要成为 MDI 父窗体的 Form 分配给该子窗体的 MdiParent 属性。可以使用此属性依次通过所有 MDI 子窗体,以执行一些操作,如当 MDI 父窗体关闭时将数据保存到数据库中,或者根据应用程序中执行的操作更新子窗体上的字段。
Form.MdiParent 属性。获取或设置此窗体的当前多文档界面 (MDI) 父窗体。
语法,public Form MdiParent { get; set; }
若要创建 MDI 子窗体,请将要成为 MDI 父窗体的 Form 分配给该子窗体的 MdiParent 属性。可以从某 MDI 子窗体使用此属性来获取所有子窗体都需要的全局信息或者调用对所有子窗体执行操作的方法。
Form.ActiveForm 静态属性。获取此应用程序的当前活动窗体。
语法,public static Form ActiveForm { get; }
表示当前活动窗体,或者如果没有活动窗体,则为空引用。可以使用此方法获得对当前活动窗体的引用,以在该窗体或其控件上执行操作。
Form.ActiveMdiChild 属性。获取当前活动的多文档界面 (MDI) 子窗口。
语法,public Form ActiveMdiChild { get; }
返回表示当前活动的 MDI 子窗口的 Form,或者如果当前没有子窗口,则返回 空引用。可使用此方法确定 MDI 应用程序中是否有任何打开的 MDI 子窗体。也可使用此方法从 MDI 子窗口的 MDI 父窗体或者从应用程序中显示的其他窗体对该 MDI 子窗口执行操作。
ContainerControl.ParentForm 属性。获取将容器控件分配给的窗体。
语法,public Form ParentForm { get; }
将容器控件分配给的 Form。
以上属性MSDN提供相应的代码事例,可直接拿来调试使用。
(3)使用公共属性
使用公共属性也是一种比较常用的方式,通过窗体设计器添加的控件默认访问修饰符为private级别,可以设置成public或Internal(在程序集内部可见)来对外公开。比如对窗体中的Button进行公开,那就可以访问Button的相关属性,同时也可以注册事件或撤销事件注册。如,
OptionForm form = new OptionForm();
form.buttonOK.Click += new EventHandler(buttonOK_Click);
form.ShowDialog();
对于只允许读取访问或修改访问的控件或变量可以通过属性来控制。对(1)方式进行修改,去除重载构造函数,增加属性也可以实现同样的效果。
public object MyParams
{
get { return this.myParams; }
set { this.myParams = value; }
}
剩余6页未读,继续阅读
资源评论
- StevenMuKwok2013-11-05虽然不是我期待的,不过写得很具体,学习帖,顶一下。
- bi1112013-12-12挺有用的东西
jwdream2008
- 粉丝: 64
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功