将一个表单移动到另一个表单 - C#

时间:2009-09-23 01:27:59

标签: winforms mdi

我有2个winforms Form 1和Form 2.我在form1中有button1,当我从form1点击button1时我显示form2。

            Form2 ins = new Form2();
            ins.MdiParent = this.MdiParent;
            this.Hide();
            ins.ShowDialog();

单击button1时,我隐藏了form1以显示form2。这会产生轻弹效果,我需要删除此轻弹。我如何打开/重定向到另一个表单(我应该一次只显示一个表单,并且不应该显示任何顶级菜单(如果我使用MDIParent表单)。只是一个活动表单。

谢谢, Karthick

5 个答案:

答案 0 :(得分:3)

听起来有点像你正在尝试创建一个网页风格的用户界面,用户可以从一个“页面”(由表单表示)转到另一个页面。

不是使用单独的表单实现这样的UI,而是最好使用托管在单个父表单上的UserControl来完成它。

阅读本MSDN文章,其中包含带有示例代码的下载。这是设计这种用户界面的一个很好的演练:

IUIs and Web-Style Navigation in Windows Forms, Part 1

IUIs and Web-Style Navigation in Windows Forms, Part 2

修改

如果您打算展示两个单独的表单,是否有任何理由需要以模态方式显示第二个表单?你能不能简单地展示它然后隐藏原件?

form2.Show();
form1.Hide();

...或者你还有另一种形式,form1和form2都是“模态”的吗?

答案 1 :(得分:2)

从一个页面(form1)转移到另一个页面(form2)       假设form1包含名为“SAVE”的按钮          我们必须在“保存”按钮的点击事件中编写以下代码

form2 f2=new form2();
f2.Show();

答案 2 :(得分:0)

如果您想在任务栏上显示,我认为winforms上有一个属性。

答案 3 :(得分:0)

而不是隐藏使用关闭选项。

Form1 formObject = new Form1();
formObject.Close();

或只是

this.Close();

答案 4 :(得分:0)

我可以澄清您对如何从一个form1重定向到form2

的疑问

例如: 在form1中放置一个链接,然后在其中写下以下代码

form2 ins=new form2();
ins.show();