C# 在单个Winform中显示不同窗体的最佳操作过程是什么?

C# 在单个Winform中显示不同窗体的最佳操作过程是什么?,c#,winforms,C#,Winforms,以下是我的应用程序的屏幕截图: 基本上,根据选择的选项,我想显示另一个“内容”,它可以是按钮、表单或其他什么 什么是最好的选择?使用MDI?我对这类事情真的很陌生。这个场景非常适合选项卡页面,正如您在选项卡控件上所看到的那样 但是,由于您已经有了在内容之间切换的机制,您可能更愿意创建一系列面板s,其Dock属性设置为DockStyle.Fill。当用户单击相应的标题时,只需显示相应的面板并在其上调用BringToFront()。无论如何,这本质上就是tab控件在内部所做的 不要忘记适当地使用S

以下是我的应用程序的屏幕截图:

基本上,根据选择的选项,我想显示另一个“内容”,它可以是按钮、表单或其他什么


什么是最好的选择?使用MDI?我对这类事情真的很陌生。

这个场景非常适合选项卡页面,正如您在
选项卡控件上所看到的那样

但是,由于您已经有了在内容之间切换的机制,您可能更愿意创建一系列
面板
s,其
Dock
属性设置为
DockStyle.Fill
。当用户单击相应的标题时,只需显示相应的面板并在其上调用
BringToFront()
。无论如何,这本质上就是tab控件在内部所做的


不要忘记适当地使用
SuspendLayout()
ResumeLayout()
来减少闪烁,这在WinForms应用程序中可能是一个巨大的问题,尤其是当有很多控件时。

您可以将
选项卡控件放置在按钮不可见的位置,并通过按钮进行控制。

太棒了!纸上听起来不错,让我把一些东西拼凑起来测试一下。有什么属性可以不显示按钮,而只显示正方形内容?@Sergio:不幸的是,没有这样的属性。但是,您可以对选项卡控件进行子类化,并自己添加一个,而无需做很多工作。请参阅,以获取一个滴落式解决方案。