C#中的自定义文本框

Custom textBox in C#

谁能帮我用 C# 创建一个只有底边框的 textBox?我正在使用 WinForms 和 .Net Framework 4.8。这是我要创建的图像。 我需要正确的解决方案。

实现此目的的一种方法是像这样将标签停靠在 TextBox 的底部

textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
var label = new Label()
{
    Height = 1,
    Dock = DockStyle.Bottom,
    BackColor = Color.Black
};
textBox1.Controls.Add(label);

您通过显示图片提到的这个特定文本框称为 Material 文本框,这样的 UI 称为 Material UI.

你可以参考这个link:

How to use material design controls c# winforms

已接受的答案将非常有效,但如果您想要更专业的东西,这可能是您的选择。

link 解释了如何在您的 winforms 应用程序中使用 Nuget 包 MaterialSkin.Updated 来制作漂亮的 UI。

编辑:

如果您不是编码极客并且不需要太多编码部分就可以完成,您可以创建一个带有文本框的简单用户控件(根据您的需要设计背景颜色和文本颜色)。

然后在底部添加一个大小为 (0,1) 的面板,并将其设置为只有当文本框获得焦点时才可见。

此 link 提供了向文本框添加占位符的示例:Placeholder Whosebug