如果文本框为空,请填写文本框?我正在使用VB.NET.
看起来你正在描述一个提示横幅,这是一个空文本框中显示的提示文字.从
Windows XP起,该功能本身就是由操作系统支持的.以这种方式实现的效果比在TextChanged事件中自己设置默认文本要好得多.看起来像这样:
通过将文本框控件发送到EM_SETCUEBANNER
message,可以在Windows API级别实现此功能.要使用.NET项目,必须使用P / Invoke.
幸运的是,大部分工作已经为您完成. This sample project是向现有项目添加提示横幅支持的一种快速而无痛的方式. Here’s another sample,对该过程进行了更为完整的解释.
如果您不希望您的应用程序依赖于外部DLL,则可以将必要的代码直接添加到项目中.最简单的方法是对现有的TextBox控件进行子类化,并添加代码以支持那里的提示横幅.请参阅this answer您需要的代码.如果您无法将其转换为VB.NET,请尝试使用this tool.