A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 该死的温柔 中级黑马   /  2014-5-20 20:33  /  1342 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 该死的温柔 于 2014-5-20 22:49 编辑

求代码演示

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

3 个回复

倒序浏览
假设我们需要点击主窗体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();

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报 1 0
方杰斌 发表于 2014-5-20 21:56
假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并将某一个值传给子窗体FMChild,一般情况 ...

谢了!!
回复 使用道具 举报
tag。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马