实现C#窗体间传值详解

开发 后端
C#窗体间传值的问题是如何解决的呢?当我们遇到这样的问题的时候首先要做的是什么呢?那么本文就向你介绍了具体的实现方法,希望对你学习C#窗体间传值有所帮助。

C#窗体间传值是如何实现的呢?首先我们来看看需要什么设备,VS 2005的Visual C# Windows应用程序和Visual C#智能设备Pocket PC 2003设备应用程序。假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并将某一个值传给子窗体FMChild,一般情况下,我们点击按钮显示子窗体FMChild的代码为:

  1. FMChild fmChild = new FMChild();  
  2. fmChild.ShowDialog();  
  3. fmChild.Dispose();  

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

  1. private string strValueA;  
  2. public string StrValueA{  
  3. get {   
  4. return strValueA;  
  5.  }  
  6. set {   
  7. strValueA = value;   
  8. }  
  9. }  

C#窗体间传值方法的介绍:

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

方法一:

  1. FMChild fmChild = new FMChild();  
  2. fmChild.ShowDialog(this);  
  3. fmChild.Dispose();  

方法二:

  1. FMChild fmChild = new FMChild();  
  2. FMChild.Owner = this;  
  3. fmChild.ShowDialog();  
  4. fmChild.Dispose();   

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

  1. FMMain fmMain;   

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

  1. fmMain = (FMMain)this.Owner;   

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

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

  1. private string strValueB;  
  2. public string StrValueB{  
  3. get {   
  4. return strValueB;  
  5.  }  
  6. set {   
  7. strValueB = value;   
  8. }  

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

  1. string strTmp = fmChild.StrValueB;   

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

  1. FMChild fmChild = new FMChild();  
  2. FMChild.Owner = this;  
  3. fmChild.ShowDialog();  
  4. fmChild.Dispose();  

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

C#窗体间传值的实现以及方法的介绍就向你介绍到这里,希望对你了解和学习C#窗体间传值有所帮助。

【编辑推荐】

  1. C# Main方法概述及特点解析
  2. C# main函数应用实例详解
  3. 浅析C# Main参数输入问题
  4. 详解C# Main方法返回值
  5. 浅析C#窗体的设置及属性介绍
责任编辑:仲衡 来源: builder.com.cn
相关推荐

2009-08-26 11:07:36

C#打印窗体

2009-09-07 03:58:42

WinForm传值

2009-09-07 06:48:13

C#透明窗体

2009-09-07 05:10:52

C#模式窗体

2009-09-01 18:16:41

C#窗体间通讯

2009-09-01 18:06:06

c#保存窗体状态

2009-09-07 06:18:57

C#窗体设计器

2009-08-25 09:19:01

C#实现窗体显示

2009-09-07 05:40:16

C#窗体位置C#窗体大小

2009-09-07 05:24:22

C#窗体继承

2010-06-13 09:15:16

WinForm窗体

2009-08-10 14:23:39

C# Setting

2009-08-20 10:10:55

C#透明窗体

2009-09-07 05:31:39

C#窗体关闭事件

2010-08-31 09:46:23

C#

2009-08-31 16:23:13

C#接口

2009-08-25 18:04:30

C#实现Singlet

2009-09-09 18:50:23

C# 加密RSA

2009-08-13 10:42:31

C#窗体拖动事件

2009-09-07 06:07:46

C#窗体设计
点赞
收藏

51CTO技术栈公众号