文章收藏-FAQ 位置:电脑学习网

关于 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()没有重载。

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822