c#怎样实现换界面但是不换窗口

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:25:30
也就是说,我点了一个按钮,操作界面就会改变,比如说,开始有四个按钮1,2,3,4,我点1后就会出现另外五个不同样式的按钮5,6,7,8,9;但是并不是定义新的窗口,一直用一个窗口
谢谢所有网友的热情回答,其中412858310的建议估计有用,也对路,我去试试先;还有很多人说用panel,我很早就试了,不行,比如panel1放到panel2上,panel1就属于panel2了,panel2隐藏panel1也会隐藏的;再者还有人建议用TabControl等控件,但是我想在界面中除了要用的东西,其他没用的不出现,TabControl等是有线框等东西的;不过还是再次感谢热心的网友.......还是弄不了啊(一个是我想窗口可以改变大小,自定义控件里面的按钮就会变,比如说距离什么的,再者自定义的两个控件之间怎么相互联系啊)

我刚完成一个这样的项目,我是把不同的界面做成用户自定义控件,当需要某个的时候就清空它的容器并添加这个控件,可以设置DOCK为FILL。
我这样做了感觉效果很好反应快且操作简单
供楼主参考

1.可以把窗体设置成不能改变大小
2.控件联系可以把需要传递的属性公开,就是public
如下
class Form1:Form
{
public String Property1
{
get{return this.textBoxProperty.Text;}
}

public Type Property2
{
get{return this.Property2;}
}
}
.....
class MainForm:Form
{
Form1 _form1=new Form1();
Form2 _form2=new Form2();

private void ShowForm1()
{
this.Controls.Clear();
this.Controls.Add(_Form1);
}

private Void ShowForm2()
{
form2.Initialize(_form2);
this.Controls.Clear();
this.Controls.Add(_Form2);
}
}

这只是个例子 你可以灵活点 比如把需要传递的信息封装成一个对象

哪你就已开始就放上9个按钮,开始按钮5,6,7,8,9不显示,点1后在显示不就可以了吗!位置重叠也没关系的,只要不同时显示
你说的那些.net都解决得很好啊。一般控件都有dock这个属性就是来解决你说的改变窗口大小空间距离相应变化的。
你的工程很大吗?还要自定义控件?

你把要显示的按钮放在panel中 默认visable为false 当点1的时候 visable置为true