Водяной знак в System.Windows.Forms.TextBox - PullRequest
14 голосов
/ 23 февраля 2009

Как он лучше всего реализует функциональность Watermark для System.Windows.Forms.TextBox в .Net 2.0 с C #?


Edit:

Использовать готовый компонент из CodeProject было очень просто. Это также с открытой лицензией Project Code (CPOL).

Ответы [ 2 ]

15 голосов
/ 03 сентября 2009

В последнее время мне понадобилось текстовое поле с водяным знаком, первое, что пришло мне в голову, это события текстового поля OnLeave и OnEnter, но сначала я его погуглил и получил две ссылки: первая в CodeProject, использующая пространство имен System.Drawing а другой был здесь с использованием SendMessage () здесь http://vidmar.net/weblog/archive/2008/11/05/watermarked-textbox-in-windows-forms-on-.net.aspx.

Я считаю, что SendMessage намного проще, и в нем также нет мерцания. хотя я использовал это.

Надеюсь, это будет полезно для вас.

7 голосов
/ 23 февраля 2009

Это не так просто, как можно подумать. Вам необходимо использовать пространство имен System.Drawing и переопределить событие OnPaint.

Вот некоторые ссылки некоторых людей, которые уже сделали это.

Ссылка & Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...