我想知道如何在应用程序中调整我的 View 。让我解释一下。
而不是构建我的 View 并在一个屏幕中添加所有组件。我想说的是将每个面板放在自己的类/表单中,然后有一个主表单,我可以在其中添加和删除这些“模块化”面板。
这可能吗?我该怎么做?
最佳答案
在 Windows 窗体中有一个名为 UserControl 的空组件的概念,它可以自由设计并随时添加到另一个组件或窗体容器中。用户控件经常用于创建灵活和可交换的 UI。您可以创建一个 UserControl item在 Visual Studio 中像这样:
命名新控件:
之后您可以设计您的 UI 控件:
当您完成设计后,编译您的项目/解决方案并转到您要添加新设计的控件的表单。在工具栏面板中,您将看到新的 UserControl,可以通过拖放(使用鼠标)将其添加到表单中:
您可以根据需要创建任意数量的用户控件,并将它们添加到您的表单或从您的表单中删除它们。
所有这些步骤都可以完全在代码中完成。为了创建这种新 View ,您需要创建一个继承预定义 UserControl 类的新类:
public class EditorUserControl : UserControl
{
}
每个控件元素都有一个 ControlsCollection保存/包含在显示 UI 时绘制的控件类型的组件。为了将新控件添加到主面板,您需要将其添加到控件集合:
public partial class EditorUserControl : UserControl
{
public EditorUserControl()
{
var button = new Button();
button.Text = "Import";
this.Controls.Add(button);
}
}
请注意,手动添加组件时,您要负责调整它们的大小和位置。预定义的布局面板可以在此处为您提供帮助:
- TableLayoutPanel - layout with cells
- SplitPanel - horizontal or vertical predefined resizable panels
- 等等
现在剩下的就是将新的用户控件添加到主窗体中,就像将 UI 元素添加到自己的控件中一样:
var simpleEditor = new EditorUserControl();
simpleEditor.Dock = DockStyle.Fill;
this.Controls.Add(simpleEditor);
您可以通过其预定义属性调整 UI 控件设置。
您可以混合预定义的容器和 UserControls 以实现所需的 UI:
有很多很好的 C#、VS 和 .NET 初学者教程:
关于C# 使每个面板在单独的 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669746/