【问题标题】:How do I add watermark text to my textBox (e.g. "type here...") in C++ winforms? (Vs2012)如何在 C++ winforms 中将水印文本添加到我的文本框(例如“在此处键入...”)? (VS2012)
【发布时间】:2013-03-29 03:29:44
【问题描述】:

我想知道是否有人知道如何在 Visual Studio 2012 中的文本框中添加水印文本(例如“在此处输入...”)。任何帮助将不胜感激。注意:我是 C++ 初学者

【问题讨论】:

标签: winforms textbox c++-cli watermark


【解决方案1】:

可以,但不需要任何 TextBox 自定义;您可以为此使用事件。我会给你代码,但是 1) Visual Studio 再次给我在 c++/cli 中的问题,2) 它也会让你有点懒惰。 p>

所以,我将向您描述一种可以完成的方法:将TextBox 的前景色指定为灰色(例如Color::Gray)并将文本指定为“在此处输入...”。然后订阅TextBoxTextChanged事件,每当文本发生变化(和不同),你应该先清除“type here...”,然后将颜色改为Color::Black。如果文本为无,则将颜色更改回Color::Gray,并将文本更改为“在此处键入...”。很简单吧?但是,如果您对实施有疑问,可以通过评论此答案来问我。

【讨论】:

  • @Daniel,我现在注意到您说您是 C++/CLI 的初学者(我也是),但是如果您了解 C#,那应该很简单。事件通常很复杂,但网上有很多关于这方面的资料,适用于 C# 的内容也适用于 C++/CLI(除了 lambda 和此类高阶内容)。
  • @Daniel,除了使用事件TextChanged,您还可以使用GotFocusLostFocus,这可能是更简单的逻辑。
猜你喜欢
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多