0

我是 C# 新手。我有一个非常简单的 Windows 窗体应用程序,它有一个文本框、标签和一个按钮。我让用户在文本框中输入他们的名字,然后按下按钮,他们的名字就会显示在标签上。现在我想让应用程序对用户更友好,所以在用户在文本框中输入他们的名字之前,我希望文本“输入你的名字:”出现在文本框中,但是一旦用户在文本框内单击(到输入他们的名字),我希望“指令”从文本框中消失。是否有任何内置函数可以在 C# 中执行此操作?

4

4 回答 4

1

我认为您正在寻找的是您现在经常在网站上看到的水印功能。有关执行此操作的多种方法,请参见此 SO 问题:

System.Windows.Forms.TextBox 中的水印

然而,到目前为止,这还不是初学者材料。在 C# 中这种行为没有内置功能,因此没有“简单”的方法可以做到这一点。

于 2013-05-01T10:08:54.553 回答
1

在 UI 设计器模式下,转到文本框属性并在“文本”属性中输入“输入您的姓名”,这将在您的文本框中显示“输入您的姓名”

此外,如果您认为这不合适,您可能需要查看工具提示,这些工具提示易于创建和使用,并且可以在最终用户将鼠标悬停在文本框上时显示

于 2013-05-01T10:09:39.330 回答
0

您所描述的是带水印的文本框。我不相信 Winforms 有内置的,但有可用的免费解决方案。也许从这里开始。

于 2013-05-01T10:09:08.067 回答
0

您将处理单击和聚焦事件,这不是一个好方法。事实上,就这么简单的事情,你最终会得到非常复杂的代码。稍后,如果您希望实现验证,您的“说明”文本将变得相当痛苦。

于 2013-05-01T10:10:21.470 回答