如果文本框为空,如何填充文本?我正在使用 VB.NET。
最佳答案
看起来您正在描述一个提示横幅,它是显示在空文本框中的提示文本。从 Windows XP 开始,操作系统本身就支持此功能。通过这种方式实现的效果比在 TextChanged
事件中自己设置默认文本要优雅得多。它看起来像这样:
此设置是在 Windows API 级别通过向文本框控件发送 EM_SETCUEBANNER
message 来完成的。 。要从 .NET 项目中使用它,您必须使用 P/Invoke。
幸运的是,大部分工作已经为您完成。 This sample project是一种向现有项目添加提示横幅支持的快速且轻松的方法。 Here's another sample ,并对过程进行更完整的解释。
如果您不希望您的应用程序依赖于外部 DLL,您可以将必要的代码直接添加到您的项目中。最简单的方法是对现有 TextBox
控件进行子类化,并添加代码以支持提示横幅。请参阅this answer获取您需要的代码。如果您在将其转换为 VB.NET 时遇到问题,请尝试 this tool .
关于.net - 如何使用默认文本填充空文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178247/