C# 桌面应用程序动态GUI问题
我曾经问过这样一个问题:“桌面应用程序中是否存在类似母版页的东西?”现在我必须扩展这个问题。谢谢你的理解 我已将一个MDI主窗体添加到我的项目中,并将几个继承MDI主窗体的继承窗体添加到我的项目中。我用的是这个代码C# 桌面应用程序动态GUI问题,c#,desktop-application,C#,Desktop Application,我曾经问过这样一个问题:“桌面应用程序中是否存在类似母版页的东西?”现在我必须扩展这个问题。谢谢你的理解 我已将一个MDI主窗体添加到我的项目中,并将几个继承MDI主窗体的继承窗体添加到我的项目中。我用的是这个代码 private void searchToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Form child in this.MdiChildren) { child.Close
private void searchToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Form child in this.MdiChildren)
{
child.Close();
}
Search childSearchForm = new Search();
childSearchForm.MdiParent = this;
childSearchForm.Text = "Search ";
childSearchForm.Show();
}
当我按下主窗体上的某个按钮时,会触发此代码,在本例中,新的搜索窗体在主窗体中打开
现在我的问题是构建桌面应用程序的正确方法,或者还有其他更优雅的方法,用户界面的内容可以是动态的,通过单击其中的按钮可以从一个视图切换到另一个视图。例如,单击某个搜索表单上的“搜索”按钮将带您进入搜索结果网格,所有这些都发生在一个主表单中
如果这是正确的方法(我怀疑),我如何通过点击表单内部的按钮来打开其他表单呢。此外,如果我在母版页上放置一些控件,它们将以母版形式和继承形式出现两次
谢谢
PS
我使用的是Visual Studio 2008和MS SQL 2005。不确定在winforms中如何轻松做到这一点,但在WPF中,您可以创建一个导航应用程序—一个链接驱动的导航,类似于web浏览器体验,但仍然是一个独立的应用程序。有关如何开始的详细信息,请参阅。如果一次只想显示一个视图,可以为所需的每个视图创建一个新的用户控件。e、 g一个用于搜索结果 然后,您可以添加一个面板并清除面板中包含的控件,然后添加新的面板以显示您要查看的视图
或者如前所述,另一个选项是使用选项卡控件,隐藏选项卡并通过编程设置可见索引。您可以将子控件放在选项卡上,但使选项卡标题和边框不可见,并控制选项卡从按钮切换。我一定会尝试,我很忙,没有选择。如果你只想要一个表单,我会同意53an并构建用户控件来承载你的所有功能。