第1个回答 2011-04-26
三种方法
1.把form1里的label1的访问属性private 改成public
2.在form1里写个public的方法 在方法中调用label1
form2调用这个方法
3.在form1里写个事件和委托
前两种方法都需要在当form2实例化form1的时候将form2对象传给form1
Form1 f1 = new Form1(this);
这样就会增加窗口之间的偶合度
用事件是最好也是最常用的办法
//form2里的定义
public delegate OnChangeLabel1(string newText);
public event OnChangeLabel1 changeLabel1;
//点击button1触发的事件
private void Button1Click(object sender, EventAgment e){
changeLabel1("我是中国人");
}
//form1的构造方法里绑定form2事件
public Form1(){
form2.changeLabe1 += new EventHander(ChangeLabel1Method);
}
private void ChangeLabel1Method(string nText){
this.lable1.text = nText;
}
第2个回答 2011-05-07
你可以将form1设置成为MDI父窗体,然后将form2设置成form1得子窗体就行了
form1窗体属性 isMdiContainer设置成为True
实例化form2窗体
form2 f2=new form2();
f2.mdiparent=this;
f2.show();
参考资料:http://www.tjcoder.com
本回答被提问者采纳
第3个回答 2011-04-26
好像没有相关的直接使用的方法了,不过想办法实现也不是不可能的
就是重写最大化的按钮了,或者判断当windows state = max的时候去改变form2的 位置和大小了
第4个回答 2011-04-26
用多文档窗体不就行了,让form2窗体变为form1窗体的子窗体.
第5个回答 2011-04-29
应该作为form2的子窗体吧,然后规定他的大小,希望可以帮到你