微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在一个Windows Form面板中的一个Csharp面板中使用多个窗体?

我正在构build一个儿童学习应用程序,点击面板上的button,我想在面板的相同位置显示不同的表单。 你可以请帮助任何步行或教程链接

如何从远程计算机获取CommonApplicationData?

是否有可能通过关联的文件将命令行parameter passing给可执行文件

如何杀死一个正在运行的程序,以及如何去捕捉它们?

.NET:屏幕保护程序configuration对话框所有者和预览焦点

closuresWindows资源pipe理器的特定实例

这个问题应该已经发布在Stackoverflow网站而不是在这里

但是你可以用这个方法来处理这个事件。

subForm = new SubFormYouWantToLoad(); subForm.TopLevel = false; subForm.FormBorderStyle = FormBorderStyle.None; ContainerPanel.Controls.Add(subForm,1); subForm .Visible = true;

您可以添加代码,当你点击特定的按钮。 这里每个子窗体都作为一个控件添加到Panel中。 在添加一个子窗体之前,应该从面板的控制列表中删除子窗体。 为此,最好删除关闭和处置第一个

ContainerPanel.Controls.Remove(activeform); activeform.Close(); activeform.dispose();

使用用户控件并将其加载到面板中,而不是使用表单

示例,如果你想显示usercontrol1

panel1.Controls.Clear(); panel1.Visible = true; UserControl1 usr1 = new UserControl1(); usr1.Show(); panel1.Controls.Add(usr1);

如果usercontrol2

panel1.Controls.Clear(); panel1.Visible = true; UserControl1 usr2 = new UserControl2(); usr2.Show(); panel1.Controls.Add(usr2);

您可以创建多个表单作为用户控件或从面板继承的控件。 然后有一个面板的父窗体来保存用户控件。 当面板需要更改时,您可以更改容器中的活动用户控件。

一个关于MSDN的教程来创建用户控件。

http://msdn.microsoft.com/en-us/library/a6h7e207(v=vs.71).aspx

我用这个代码关闭面板上的窗体,但不工作..

private void button12_Click(object sender,EventArgs e) { dontShowPANEL(); //ActiveForm.Close(); MainImaginCp kj = new MainImaginCp(); //kj.Visible = false; kj.panel2.Controls.Clear(); panel1.Visible = true; EngABCLearning usr1 = new EngABCLearning(); usr1.Show(); kj.panel2.Controls.Add(usr1); //kj.Focus(); }

我用下面的代码在面板中显示表单。

private void toolStripMenuItem1_LR_ENG_Click(object sender,EventArgs e) { //kids.Form2 hj = new kids.Form2(); //hj.Show(); EngABCLearning gh = new EngABCLearning(); //gh.Show(); gh.TopLevel = false; gh.FormBorderStyle = FormBorderStyle.None; //Panel2.Controls.Add(subForm,1); panel2.Controls.Add(gh); gh.Visible = true; }

这是关闭我的主要形式,并退出申请。

试试这个我已经加载了一个面板内的两个表单

private void Form1_Load(object sender,EventArgs e) { Form2 f1 = new Form2(); f1.TopLevel = false; f1.AutoScroll = true; panel1.Controls.Add(f1); f1.Dock = DockStyle.Left; f1.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; f1.Show(); //form2 Form3 f2 = new Form3(); f2.TopLevel = false; f2.AutoScroll = true; panel1.Controls.Add(f2); f2.Dock = DockStyle.Left; f2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; f2.Show(); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐