c# winform 一个窗体怎么修改另一个窗体的属性
现在我在form1中打开form2然后再form2中按下按钮修改form1中textbox中的text,怎么弄,我已经把textbox的private改为public了然...
现在我在form1中打开form2 然后再form2中按下按钮修改form1中textbox中的text,怎么弄,我已经把textbox的private 改为public了 然后form1 myform=new form1(); myform.textbox.text="";不行,该怎么弄
展开
展开全部
在Form1的类中添加一个方法更新textBox1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//添加一个方法,用于更新textBox1
public void UpdateTextBox(string newData)
{
this.textBox1.Text = newData
}
//点击按钮,显示Form2窗口
private void buttonShowForm2_Click(object sender, EventArgs e)
{
//用新的构造函数(见下面的Form2类),创建Form2实例
Form2 form2 = new Form2(this);
form2.Show();
}
//其余代码略……
}
在Form2中,添加一个新的构造函数
public partial class Form2 : Form
{
private Form1 _form1;
public Form2()
{
InitializeComponent();
}
//添加一个构造函数
public Form2(Form1 form): this()
{
_form1 = form;
}
//当鼠标点击了button1
private void button1_Click(object sender, EventArgs e)
{
//将数据传回Form1并更新显示
_from1.UpdateTextBox(string newData);
}
//其余代码略……
}
2014-03-05
展开全部
form1中定义一个public string pubValue="";同时将form1的TextBox_TextChanged设置为public,并且textbox.text=pubValue。
在打开form2前,将form2.Parentform=this;
form2中点击按钮修改pubValue的值,然后触发this.parentform.TextBox_TextChanged(sender,e);就可以了。
在打开form2前,将form2.Parentform=this;
form2中点击按钮修改pubValue的值,然后触发this.parentform.TextBox_TextChanged(sender,e);就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等等我试试。我知道怎么做,但是我不敢确定,用静态变量好像可以实现,你的New的问题
你想,你都New了一个form1 就是一个新的窗体了。所以不行
你想,你都New了一个form1 就是一个新的窗体了。所以不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在form1中写一个方法用来修改textBox的Text
比如
void ChangeText(string s)
{
textBox.text=s;
}
然后再form2中写一个委托,
public delegate void mydelegate(string ss);
public mydelegate change;
在form1中显示form2的时候写
form2 f=new form2();
f.change=new form2.mydelegate(ChangeText);//将方法绑定到form2中
然后再form2的修改按钮里写:
change(t); //t为要修改的内容
比如
void ChangeText(string s)
{
textBox.text=s;
}
然后再form2中写一个委托,
public delegate void mydelegate(string ss);
public mydelegate change;
在form1中显示form2的时候写
form2 f=new form2();
f.change=new form2.mydelegate(ChangeText);//将方法绑定到form2中
然后再form2的修改按钮里写:
change(t); //t为要修改的内容
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的就是用委托 就可以实现了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询