我可以在面板中加载新表单吗?

时间:2011-11-03 10:22:29

标签: c# panel frontend windows-applications

我正在使用Windows Application。我正在使用一种形式的menustrip,我想问一下,我可以设置一个面板,在特定点击menustripitem时加载新表格。

例如:

File Data 
  ABC  Hello
  XYZ  Bye

这些是我的菜单栏。点击ABC我不想以不同的形式进行,我可以做些什么 (无论我想要什么)使用面板在同一个表单上。

由于

5 个答案:

答案 0 :(得分:4)

我认为我有同样的问题。

但我找到了答案

CodeProject Example

首先,你必须配置表格:

myForm.FormBorderStyle = FormBorderStyle.None;

然后,操纵行动:

Form1 myForm = new Form1();
myForm.TopLevel = false;
myForm.AutoScroll = true;
frmMain.Panel2.Controls.Add(myForm);
myForm.Show();

希望能帮到你。拥抱:D

答案 1 :(得分:1)

您可以使用MDI表单。 试试这样的事情

 //Create a new instance of the MDI child template form
    Form2 child= new Form2(); 

    //Set parent form for the child window 
    child.MdiParent=this;

    //Display the child window
    child.Show()

您也可以参考此site

答案 2 :(得分:0)

如果将目标表单的全部内容放入UserControl,则可以将面板添加到主表单并将UserControl放在该面板上。

您仍然可以通过创建一个空表单并在该表单上放置相同的UserControl来显示单独的表单。

正如Int3ὰ已经指出的那样,您可以使用MDI表单。但是,如果您想使用可停靠的面板,那么UserControl就是您的选择。

答案 3 :(得分:0)

在表单上添加两个面板,同时只能看到一个面板。然后,在菜单上添加两个事件:

private void ABCToolStripMenuItem_Click(object sender, EventArgs e) {
    panelABC.Visible = true;
    panelXYZ.Visible = false;
}

private void XYZToolStripMenuItem_Click(object sender, EventArgs e) {
    panelABC.Visible = false;
    panelXYZ.Visible = true;
}

答案 4 :(得分:0)

  private void pbxpurchase_Click(object sender, EventArgs e)
    {
        contentpnl.Controls.Clear();//contentpnl is the panelname
        purchasebook purchasebk = new purchasebook();//purchasebook is a formname
        purchasebk.TopLevel = false;
        purchasebk.AutoScroll = true;
        contentpnl.Controls.Add(purchasebk);
        purchasebk.Dock = DockStyle.Fill;
        purchasebk.Show();

    }

尝试这100%测试