C# form2如何获取form1的数据

在form2中,form1是showdialog()的方式出现的,在form1中有个textBox,现在form1执行完后Close()了,在Form2中怎么读取form... 在form2中,form1是showdialog()的方式出现的,在form1中有个textBox,现在form1执行完后Close()了,在Form2中怎么读取form1的textBox的数据? 展开
 我来答
匿名用户
推荐于2016-02-19
展开全部

这个你可以创建一个公共类,声明为pubilc即可。

先新建一个类。

class abc  //abc为我的类名
    {
        public static string a = "";
    }

在form2的closing事件或者其他你认为合适的地方写:

abc.a = textBox1.Text;

form1中的如何判断值已经改变,我用的是最基本的方法,就是当弹出form2时候开一个time控件,或者一个线程用while来检测值有没有变化。有变化把值写上去。如:

Form2 f2 = new Form2();
            f2.ShowDialog();
            timer1.Start();

 然后在timer1_Tick事件直接写代码:

if(abc.a != null)//或者 abc.a != ""
{
 XXX = abc.a;
 abc.a = "";
 time1.Stop();
}
追问
类定义在那里?abc要在哪里进行实例化?
追答

当然如果你以后成为高手,就不需要用time一直循环等待那个值的改变,可以在内存直接中通信。我这个思路就是最早时候的键盘,那时候键盘是监听你有没有按下那个按键,现在键盘已经不需要这样了。而是你按下按键,会中断信息,就会被windows所发现。

这是我用vs2008写的。

壹尘和尚
2015-02-11
知道答主
回答量:20
采纳率:0%
帮助的人:8.1万
展开全部
form2中:
写一个public方法aaaaa(string str){ ///你的代码};
form1 ad = new form1();
ad.Owner = this;
ad.ShowDialog();
form1中:
form2 mf = (form2)this.Owner;
mf.aaaaa(textbox.text);
this.Close();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式