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

本文关键字:一个 新表单 表单 加载 我可以 | 更新日期: 2023-09-27 18:13:29

我正在开发Windows应用程序。我在一个窗体中有一个菜单条,我想问一下,我能不能有一个面板,在单击菜单条项时加载新窗体。

例如:

File Data 
  ABC  Hello
  XYZ  Bye

这是我的菜单栏。点击ABC,我不想换一种形式,我能做点什么吗(不管我想怎样(在同一个表单上使用面板。

感谢

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

我想我也有同样的问题。

但我找到了答案

CodeProject示例

首先,您必须配置表单:

myForm.FormBorderStyle = FormBorderStyle.None;

然后,操纵动作:

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

希望能帮助你。拥抱:D

您可以使用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()

你也可以参考这个网站。

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

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

作为Int3ὰ已经指出,您可以使用MDI表单。但是,如果您想使用可固定面板,那么UserControl就是您的选择。

在表单上添加两个面板,同时只有一个可见。然后,在菜单上添加两个事件:

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;
}
  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%测试的