我可以在面板中加载一个新表单吗
本文关键字:一个 新表单 表单 加载 我可以 | 更新日期: 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%测试的