选项卡式窗口允许用户拖放选项卡项目以重新排列其顺序,或将它们移出选项卡栏以将其转变为独立窗口。它们目前很常见。我使用的许多应用程序都有它们(例如 IE、Firefox、Chrome、VS、Android Studio 等)
我正在寻找可以帮助创建选项卡式窗口的 .NET 框架或控件库。我尝试过在 stackoverflow 和 Google 上进行一些搜索,但有关它的主题很少。其中之一让我想到了这一点
.NET API 中没有任何东西可以帮助我解决这个问题,所以我必须从头开始创建它或使用第三方库吗?
各位,请给我一些建议或分享一下您的经验。我可以使用 .NET WinForm 或 WPF,但如果它是其他框架,我将准备采用它。
最佳答案
在Windows应用程序中,您可以制作两种类型的应用程序
- 多形式申请
- 单一表单申请
在多表单应用程序中,您有一个包含子表单的主表单,您可以使用 tabstrip 控件将它们显示为停靠选项卡。
// to add a form in the MdiParent form
var form = new ChildForm();
form.MdiParent = this;
form.Show();
在单一表单应用程序中,表单被创建但不附加到主表单
// to add a form in single form application
var form = new AnotherForm();
form.Show(); // form.ShowDialog() should not be used because it will be modal form
为了实现你想要的,你需要处理 tabstrip 和 mainform 的拖放事件
如果您从主窗体外部拖放一个窗体并将其放入内部,则可以通过使 form.MdiParent = this; 轻松将此窗体附加到主窗体;//这是主窗体
如果您将表单从选项卡条拖到主表单之外,则会将该表单与主表单分离
from.MdiParent = null;
希望这对你有帮助
关于c# - 如何使用.NET 创建选项卡式窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363652/