c#怎么修改另一窗体中控件的属性
就是说From2里面的一个button能修改From1里的一个laber的text属性。。请问怎么才能实现。最好能有代码。。谢谢~From1先调用From2的...
就是说From2里面的一个button能修改From1里的一个laber的text属性。。请问怎么才能实现。最好能有代码。。谢谢~From1先调用From2的
展开
6个回答
展开全部
用event
Class Form1
{
public Form1()
{
Form2 form = new Form2();
form.TestBtn.Click += new System.EventHandler(this.Form2ButtonClicked);
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = "Clicked";
}
}
Class Form2
{
public Button TestBtn= new Button();
}
这只是最基本的实现方法 (当然不是好方法),等你明白event 和 delegate 以后,自己就会有更好的答案了。
Class Form1
{
public Form1()
{
Form2 form = new Form2();
form.TestBtn.Click += new System.EventHandler(this.Form2ButtonClicked);
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = "Clicked";
}
}
Class Form2
{
public Button TestBtn= new Button();
}
这只是最基本的实现方法 (当然不是好方法),等你明白event 和 delegate 以后,自己就会有更好的答案了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般情况下的话应该需要有一个中间类来帮忙完成内容的传递 通常可以建个UserHelper来帮我们完成 里面有我们需要的属性 通过From2中的button为 UserHelper中的属性赋值 最好用模式窗体的形式打开窗体,这样更方便我们掌握取值的时间,在from2关闭的时候我就可以在用from1的laber获取UserHelper中的值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Form1里写
public string LableText
{
get{return this.label.Text;}
set{this.label.Text = value;}
}
打开form2时把自己传过去
new Form2(this).Show();
Form2构造:
pubilc Form2(Form1 f1)
{
....
}
按钮事件:
this.f1.LabelText = "aaaaaaaaa";
public string LableText
{
get{return this.label.Text;}
set{this.label.Text = value;}
}
打开form2时把自己传过去
new Form2(this).Show();
Form2构造:
pubilc Form2(Form1 f1)
{
....
}
按钮事件:
this.f1.LabelText = "aaaaaaaaa";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改From1里的laber属性(Modifiers 设置为 PUBLIC)
Class Form1
{
public Form1()
{
Form2 form = new Form2();
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = }
}
Class Form1
{
public Form1()
{
Form2 form = new Form2();
form.laber.Click += new System.EventHandler(this.button1);
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = "Clicked";
}
}
Class Form2
{
public Button TestBtn= new Button();
}
Class Form1
{
public Form1()
{
Form2 form = new Form2();
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = }
}
Class Form1
{
public Form1()
{
Form2 form = new Form2();
form.laber.Click += new System.EventHandler(this.button1);
}
private Form2ButtonClicked(object sender, EventArgs e)
{
this.label1.Text = "Clicked";
}
}
Class Form2
{
public Button TestBtn= new Button();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像没法在一个窗口掉另一个窗口的属性,要不你建一个中间类,把那个laber的txt属性保存起来,然后当form2打开的时候road方法去取中间类的那个值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询