关于C#中窗体之间传值

在用VS2005做应用程序时,时常需要在各窗体间传一些特定的值,下面列举传值方式 仅供参考

1、VS2005 的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()没有重载。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值