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

form2最大化也是显示在窗体form1中,该怎么写?急急急!!!!!!!!!!
最新回答
仙味萝莉

2024-10-17 09:51:47

三种方法
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;
}
威猛的小平胸

2024-10-17 10:50:15

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

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

2024-10-17 08:44:36

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

2024-10-17 09:17:08

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

2024-10-17 13:43:09

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