C#实现窗体间传值实例分析
程序员文章站
2022-03-21 14:01:36
本文实例分析了c#实现窗体间传值的方法。分享给大家供大家参考,具体如下:
1、vs 2005的visual c# windows应用程序和visual c#智能设备poc...
本文实例分析了c#实现窗体间传值的方法。分享给大家供大家参考,具体如下:
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()没有重载。
希望本文所述对大家c#程序设计有所帮助。