c#.net中怎样让form2窗体显示在form1窗体中?

2024-10-28 11:30:14
推荐回答(5个)
回答(1):

三种方法
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):

你可以将form1设置成为MDI父窗体,然后将form2设置成form1得子窗体就行了

form1窗体属性 isMdiContainer设置成为True
实例化form2窗体
form2 f2=new form2();
f2.mdiparent=this;
f2.show();

回答(3):

好像没有相关的直接使用的方法了,不过想办法实现也不是不可能的
就是重写最大化的按钮了,或者判断当windows state = max的时候去改变form2的 位置和大小了

回答(4):

用多文档窗体不就行了,让form2窗体变为form1窗体的子窗体.

回答(5):

应该作为form2的子窗体吧,然后规定他的大小,希望可以帮到你