我正在尝试创建一个窗口,在该窗口中我将有一个带有不同按钮的工具栏。
当我点击其中一个按钮时,它会显示类似于某个人的信息,或者当我点击另一个按钮时它会显示有关员工的其他信息。
我该怎么做?我可以创建添加页面,然后在该按钮调用时将该页面插入网格或面板吗?
或者我应该制作多个面板并在一个窗口上创建所有面板(但是如果我这样做,当我们在一个窗口中将它们堆叠在一起时,如何编辑每个面板是很容易的)。我希望我能清楚这一点,Idk怎么回答这个问题。任何帮助表示赞赏。
另外,我如何停靠某些东西,以便在最大化或最小化时自行调整大小?
答案 0 :(得分:3)
一种方法是创建另一个表单并从按钮事件中打开它:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
}
如果您想在一个窗口中创建所有内容,则可以创建用户控件并将其添加到第一个窗口:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
UserControl1 control = new UserControl1();
control.Dock = DockStyle.Fill;
this.Controls.Add(control);
}
}
另一个选择是使用子表单:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.IsMdiContainer = true;
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.MdiParent = this;
form2.Show();
}
}
答案 1 :(得分:1)
为您拥有的每个按钮创建一个面板。然后:
panelx.Dock = DockStyle.Fill; //this will fill the window.
并在该面板上显示您想要显示的所有按钮。
当您想要显示时,请说出panel2而不是panel1:
panel1.Hide();
panel2.Show();
答案 2 :(得分:1)
如前所述,这可以使用选项卡控件来实现。
public ParentForm()
{
TabControl tabcontrol1 = new TabControl();
tabcontrol1.Dock = DockStyle.Top;
TabPage tab1 = new TabPage("Form1 Name");
Form1 frm1 = new Form1();
frm1.TopLevel = false;
frm1.Parent = tab1;
frm1.Visible = true;
tabcontrol1.TabPages.Add(tab1);
Form2 frm2 = new Form2();
TabPage tab2 = new TabPage("Form2 Name");
frm2.TopLevel = false;
frm2.Parent = discotab;
frm2.Visible = true;
tabcontrol1.TabPages.Add(discotab);
}
使用“堆叠的”自定义用户控件
public ParentForm()
{
InitializeComponent();
MyUserControl1 control1 = new MyUserControl1();
control1.Dock = DockStyle.Bottom;
control1.BringToFront();
}
private void button1_Click(object sender, EventArgs e)
{
MyUserControl2 control2 = new MyUserControl2();
control2.Dock = DockStyle.Bottom;
control2.BringToFront();
}
答案 3 :(得分:0)
我刚才在Windows窗体中实现了“分页选项”对话框。我的博客文章在这里:http://www.differentpla.net/content/2004/10/implementing-a-paged-options-dialog(图片丢失了。)