当前位置: 首页 > 编程笔记 >

C#实现窗体间传值实例分析

钱志
2023-03-14
本文向大家介绍C#实现窗体间传值实例分析,包括了C#实现窗体间传值实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例分析了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#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C#实现窗体间传递数据实例,包括了C#实现窗体间传递数据实例的使用技巧和注意事项,需要的朋友参考一下 本文以实例详述了C#两个窗体之间传递数据的实现方法,具体的操作步骤如下: 1.建立两个窗体,并采用公用变量值传递: 2.使用地址方式传递

  • 本文向大家介绍C#窗体传值实例汇总,包括了C#窗体传值实例汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了C#窗体传值的方法。分享给大家供大家参考。具体方法如下: 1.静态变量传值,非常简单适合简单的非实例的 2.委托传值 3.使用onwer属性,适合对话框之间的传值 当然也可以使用委托继续传值 4.重构窗体构造函数,初始化的时候传值,只适合初始化的适合,不够方便 5.委托+事件的方法

  • 本文向大家介绍C#实现窗口之间的传值,包括了C#实现窗口之间的传值的使用技巧和注意事项,需要的朋友参考一下 为了解决在多个窗口之间的传值问题,我们可以通过设置静态类和静态变量的办法来实现窗口间值的传递 窗体一代码 窗体2代码 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍C#实现两个窗体之间数值传送的方法,包括了C#实现两个窗体之间数值传送的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现两个窗体之间数值传送的方法。分享给大家供大家参考,具体如下: 以下是本人常用的方法,其实方法很多,但我觉得这两种我比较好理解,要是哪位朋友有比较简单的易懂的其他方法,希望不吝赐教。 方法一: 比如要在FORM2里得到FORM1里的值,先在FORM

  • 本文向大家介绍C#实现子窗体与父窗体通信方法实例总结,包括了C#实现子窗体与父窗体通信方法实例总结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了C#子窗体与父窗体通信方法。分享给大家供大家参考。具体如下: 【第一种方法:】 第一步: 创建接口IForm,父窗体继承这个接口 第二步: 父窗体实现接口中的方法,在实现接口的方法中写入刷新代码 第三步: 在子窗体中调用,刷新的方法 【第二种方法

  • 本文向大家介绍C#实现让窗体永远在窗体最前面显示的实例,包括了C#实现让窗体永远在窗体最前面显示的实例的使用技巧和注意事项,需要的朋友参考一下 本文以实例描述了C#实现让窗体永远在窗体最前面显示的方法,具体步骤如下: 1、新建一个窗体程序,添加一个Timer以及设置它可用并绑定事件。 2、设置窗体的TopMost属性为True 3、然后设置代码如下即可实现.