您所在的位置:开发 > .NET > C# > C#中实现窗体间传值

C#中实现窗体间传值

2007-12-17 13:01 xne2ds Csdn博客 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

作者在用VS 2005做应用程序时,时常需要在各窗体间传一些特定的值,下面列举传值方式,供大家参考!

AD:

【引自xne2ds的博客】1、VS 2005的Visual C# Windows应用程序和Visual C#智能设备Pocket PC 2003设备应用程序。

假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并将某一个值传给子窗体FMChild,一般情况下,我们点击按钮显示子窗体FMChild的代码为:

FMChild fmChild = new FMChild();
fmChild.ShowDialog();
fmChild.Dispose(); 

如果我们需要将主窗体FMMain中的string strValueA的值传给FMChild,那么我们首先对strValueA进行如下处理:

private string strValueA;
public string StrValueA
{
get { return strValueA; }
set { strValueA = value; }

使其成为主窗体FMMain的一个属性,接着修改显示子窗体的代码为以下两种的其中一种。

方法一:

FMChild fmChild = new FMChild();
fmChild.ShowDialog(this);
fmChild.Dispose(); 

方法二:

FMChild fmChild = new FMChild();
FMChild.Owner = this;
fmChild.ShowDialog();
fmChild.Dispose(); 

然后在修改子窗体FMChild中申明一个主窗体FMMain对象,

FMMain fmMain; 

在需要使用主窗体FMMain的string strValueA的地方加上如下代码:

fmMain = (FMMain)this.Owner; 

这样,就可以获得主窗体FMMain中strValueA的值了。

这时,如果你需要将子窗体FMChild中的string strValueB传给主窗体FMMain,同样处理string strValueB。

private string strValueB;

public string StrValueB
{
get { return strValueB; }
set { strValueB = value; }

那么你在关闭子窗体代码fmChild.Dispose();后,可以写一些代码来保存或者处理FMChild的strValueB,例如:

string strTmp = fmChild.StrValueB; 

注意,在Visual C#智能设备Pocket PC 2003设备应用程序中显示子窗体FMChild只能使用:

FMChild fmChild = new FMChild();
FMChild.Owner = this;
fmChild.ShowDialog();
fmChild.Dispose(); 

在Visual C#智能设备Pocket PC 2003的设备应用程序中ShowDialog()没有重载。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606】

关于C#  窗体  传值的更多文章

网友评论TOP5

查看所有评论(

提交评论

  1. 编程排行榜:图形编程的LOGO语言
  2. 什么是响应式Web设计?

热点专题

更多>>

读书

Microsoft SQL Server 2005 技术内幕:T-SQL查询
本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部构造,包含了非常全面的编程参考。它提

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone