C#窗体间传值是如何实现的呢?首先我们来看看需要什么设备,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;
- }
- }
C#窗体间传值方法的介绍:
使其成为主窗体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()没有重载。
C#窗体间传值的实现以及方法的介绍就向你介绍到这里,希望对你了解和学习C#窗体间传值有所帮助。
【编辑推荐】