c#中怎样将一个窗体的数据传到另外的一个窗体中
答案:4 悬赏:30 手机版
解决时间 2021-04-15 23:30
- 提问者网友:原来太熟悉了会陌生
- 2021-04-15 07:36
c#中怎样将一个窗体的数据传到另外的一个窗体中
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-04-15 09:09
在b窗体创建一个带参数的构造函数 参数为a窗体
在a窗体触发事件时实例b窗体 将a窗体作为参数传入到窗体的实例
此时a窗体和b窗体就产生了关联
代码如下:
a窗体:
public partial class Form1: Form
{
public Form1)
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2this);
form2Show();
}
}
b窗体:
public Form2()
{
InitializeComponent();
}
Form1 form1 = new Form1();
public Form2(Form1 form1)
{
InitializeComponent();//必须写 而且要卸载赋值的前面
this.form1 = form1;
this.textBox1.Text = form1.Controls["txtMsg"].Text;
}
private void button1_Click(object sender, EventArgs e)
{
form1.Controls["txtMsg"].Text = this.textBox1.Text;
this.Close();
}
这样单击a窗体的按钮打开b窗体,在b窗体显示a窗体文本框的内容。
进行修改,点击b窗体中的修改按钮,回到a窗体,同时a窗体中文本框中值得到了修改。
在a窗体触发事件时实例b窗体 将a窗体作为参数传入到窗体的实例
此时a窗体和b窗体就产生了关联
代码如下:
a窗体:
public partial class Form1: Form
{
public Form1)
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2this);
form2Show();
}
}
b窗体:
public Form2()
{
InitializeComponent();
}
Form1 form1 = new Form1();
public Form2(Form1 form1)
{
InitializeComponent();//必须写 而且要卸载赋值的前面
this.form1 = form1;
this.textBox1.Text = form1.Controls["txtMsg"].Text;
}
private void button1_Click(object sender, EventArgs e)
{
form1.Controls["txtMsg"].Text = this.textBox1.Text;
this.Close();
}
这样单击a窗体的按钮打开b窗体,在b窗体显示a窗体文本框的内容。
进行修改,点击b窗体中的修改按钮,回到a窗体,同时a窗体中文本框中值得到了修改。
全部回答
- 1楼网友:时间的尘埃
- 2021-04-15 13:47
一个进程里面的吧?我记得什么begininvoke可以跨线程跨窗口调用。
- 2楼网友:十年萤火照君眠
- 2021-04-15 12:11
在form1中添加如下语句:
public static Form1 f1=null
初始化函数中:
f1=this;
form1中textbox1声明成public
然后在form2中就可以这样赋值:
Form1.f1.textbox1.Text=textBox1.Text;
不明白的话直接联系我追问还是有点不明白啊。。。。form1中textbox1声明成public-----要怎么定义?追答去声明那地方改啊。你拖上去的控件默认都是private的,你要改成public的。就在form1.d esigner.cs文件里最下面那部分
public static Form1 f1=null
初始化函数中:
f1=this;
form1中textbox1声明成public
然后在form2中就可以这样赋值:
Form1.f1.textbox1.Text=textBox1.Text;
不明白的话直接联系我追问还是有点不明白啊。。。。form1中textbox1声明成public-----要怎么定义?追答去声明那地方改啊。你拖上去的控件默认都是private的,你要改成public的。就在form1.d esigner.cs文件里最下面那部分
- 3楼网友:躲不过心动
- 2021-04-15 10:47
在form2表单的后台 获取textbox1的值,将值作为url参数,跳转到form1所在的页面,在form1的后台方法Page_Load()中获取url中传递过来的参数,调用后台查询数据的方法,获取数据信息集,然后绑定到form1的datagridview1中,即可显示。追问你好:
非常感谢,能给点代码的示例吗?看得不是很清楚。。。。
非常感谢,能给点代码的示例吗?看得不是很清楚。。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯