有没有办法 "format paint" 在 VS Code Winforms 中格式化表单元素?

Is there a way to "format paint" the formatting of a form element in VS Code Winforms?

我正在使用 Visual Studio 构建带有 .Net Core 的 C# Winform。它工作得很好,但挑战是我花时间调整文本框,使其看起来像我想要的那样。我计划再添加几个,如果可以避免的话,我宁愿不必再次手动选择所有样式选项。

基本上我使用文本框作为信息框(也许不是最好的方法,但这是我能找到的唯一方法。

现在,我手动设置了两个信息框的值,但是当我添加更多时,有什么方法可以复制关键格式选项,这样我就不必手动 select 每个属性每次?

在 winforms 中,您始终可以从现有控件派生出您自己的控件。第一次成功编译后,它们会自动出现在工具箱中,您可以从中将它们拖放到表单中。

public class InfoBox : TextBox
{
    private static readonly Font InfoFont = new Font("Arial", 9);

    public InfoBox()
    {
        // Set initial properties
        ReadOnly = true;
        Multiline = true;
        BackColor = Color.Silver;
        Font = InfoFont;
    }
}

您还可以添加新属性和覆盖方法来更改行为。例如,您可以通过覆盖 OnPaint 来完全改变外观。新属性将出现在属性 window 中,您可以在其中手动设置它们。

信息框也可以基于 Label 控件。

另见

此代码示例需要这些用法:

using System.Drawing;
using System.Windows.Forms;

我发现的最简单的方法是简单地突出显示框,然后复制并粘贴到表单设计器本身。新字段将被赋予可以轻松更改的通用名称,但如果您希望它们的其余格式相同,则可以这样做。请注意,它不会自动复制任何事件(我可以看到),因此您仍然可以手动设置那些 when/if 必要的。