c# 如何把值从一个窗体传到另一个窗体
在Form1中,点击按钮打开Form2,鼠标点击Form2窗体将坐标返回给Form1中的tbBox控件中显示,代码怎么写?...
在Form1中,点击按钮打开Form2,鼠标点击Form2窗体将坐标返回给Form1中的tbBox控件中显示,代码怎么写?
展开
3个回答
展开全部
第一种方法:
在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解决进程通信”就有。
展开全部
第一种方法:
在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解决进程通信”就有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用委托,或者用io写到一个文件里,另一个窗口读取文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询