C#问题,用一textbox内容修改另一个窗体label标签的数据,可以更改却无法保存,怎么做?代码如下:
在一个窗体中调用另一个窗体的控件或方法解决方案:从构造函数中传递参数(Form)。1、将Form1中的控件改成public属性具体实现过程请参看一下代码(在form1的t...
在一个窗体中调用另一个窗体的控件或方法
解决方案:从构造函数中传递参数(Form)。
1、将Form1中的控件改成public属性
具体实现过程请参看一下代码(在form1的textbox1中输入然后在form2中的label1中显示textbox中的内容
//form1代码,form1中有一个label1和一个button1,其中label1的modifier属性为public
namespace temp
{
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent(); }
private void button1_Click(object sender, EventArgs e)
{
form2 Form2 f2 = new Form2(this);
f2.Show();
}
}
}
2、实现过程
//form2代码,有一个textbox1,用于输入,有一个button1
namespace temp
{
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 f)
{
InitializeComponent();
f1 = f;
}
private void button1_Click(object sender, EventArgs e)
{
f1.label1.Text = textBox1.Text;
}
}
}
关闭form2之后再次打开,添加的内容就回原了。。。求助! 展开
解决方案:从构造函数中传递参数(Form)。
1、将Form1中的控件改成public属性
具体实现过程请参看一下代码(在form1的textbox1中输入然后在form2中的label1中显示textbox中的内容
//form1代码,form1中有一个label1和一个button1,其中label1的modifier属性为public
namespace temp
{
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent(); }
private void button1_Click(object sender, EventArgs e)
{
form2 Form2 f2 = new Form2(this);
f2.Show();
}
}
}
2、实现过程
//form2代码,有一个textbox1,用于输入,有一个button1
namespace temp
{
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 f)
{
InitializeComponent();
f1 = f;
}
private void button1_Click(object sender, EventArgs e)
{
f1.label1.Text = textBox1.Text;
}
}
}
关闭form2之后再次打开,添加的内容就回原了。。。求助! 展开
1个回答
展开全部
关闭form2之后再次打开的已经不是原来的form2了。因为你按钮操作的是form2 Form2 f2 = new Form2(this);已经new了,即是一个新的了。。。当然不会保存。
追问
额,那如何更改?
追答
提供两个思路就是:
1、f1的textbox1的值存起来,每次new f2的时候使用这个从f1里传过来的值,而不是从textbox1里读
2、f2不是关闭掉,而只是隐藏,按f1的按钮时,是重新把f2显示出来,而不是new出来的。
代码自己弄咯。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询