c# 如何把值从一个窗体传到另一个窗体

在Form1中,点击按钮打开Form2,鼠标点击Form2窗体将坐标返回给Form1中的tbBox控件中显示,代码怎么写?... 在Form1中,点击按钮打开Form2,鼠标点击Form2窗体将坐标返回给Form1中的tbBox控件中显示,代码怎么写? 展开
 我来答
左梦寒3V
推荐于2018-03-08 · TA获得超过150个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:76万
展开全部
第一种方法:  
在form2中添加MouseDown事件:(需要事先把form1中的tbBox的Modifiers设置为Public)
        private void FormMain_MouseDown(object sender, MouseEventArgs e)
        {      
            foreach(Form f in Application.OpenForms)
            {
                if(f.Name=="Form1")
                {
                    ((Form1)f).tbBox.Text="X:"+e.Location.X+"Y:"+e.Location.Y;
                }
            }
        }
第二种方法:
首先在form2改:
        public Form2(Form1 f)
        {
            InitializeComponent();
            form1=f;
        }
        Form1 form1=null;
然后在form1的button单击事件里写
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f=new Form2(this);
            f.Show();
        }
最后在form2中添加MouseDown事件:

        private void FormMain_MouseDown(object sender, MouseEventArgs e)
        {                 
              form1.tbBox.Text="X:"+e.Location.X+"Y:"+e.Location.Y;      
        }
第三种方法是使用SendMessage,百度上搜索“FindWindow和SendMessage解决进程通信”就有。
沉月逃
2017-07-17 · 知道合伙人软件行家
沉月逃
知道合伙人软件行家
采纳数:108 获赞数:864

向TA提问 私信TA
展开全部
第一种方法:  
在form2中添加MouseDown事件:(需要事先把form1中的tbBox的Modifiers设置为Public)
        private void FormMain_MouseDown(object sender, MouseEventArgs e)
        {      
            foreach(Form f in Application.OpenForms)
            {
                if(f.Name=="Form1")
                {
                    ((Form1)f).tbBox.Text="X:"+e.Location.X+"Y:"+e.Location.Y;
                }
            }
        }
第二种方法:
首先在form2改:
        public Form2(Form1 f)
        {
            InitializeComponent();
            form1=f;
        }
        Form1 form1=null;
然后在form1的button单击事件里写
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f=new Form2(this);
            f.Show();
        }
最后在form2中添加MouseDown事件:
 
        private void FormMain_MouseDown(object sender, MouseEventArgs e)
        {                 
              form1.tbBox.Text="X:"+e.Location.X+"Y:"+e.Location.Y;      
        }
第三种方法是使用SendMessage,百度上搜索“FindWindow和SendMessage解决进程通信”就有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦朦朦free
2017-08-10 · TA获得超过275个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:86.7万
展开全部
用委托,或者用io写到一个文件里,另一个窗口读取文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式