Каков наилучший способ реализовать функциональность Watermark для System.Windows.Forms.TextBox в .Net 2.0 с помощью С#?
Edit:
Использование готового компонента из CodeProject было очень простым. Это также с Открытой лицензией проекта кода (CPOL).
Ответ 1
В последнее время мне понадобилось текстовое поле с водяными знаками, первое, что появилось в моей голове, - это события OnLeave и OnEnter из текстового поля, но сначала я просмотрел его по-разному, и сначала я получил две ссылки: в CodeProject, который использовал пространство имен System.Drawing и другой был здесь, используя SendMessage() здесь http://vidmar.net/weblog/archive/2008/11/05/watermarked-textbox-in-windows-forms-on-.net.aspx.
Я верю SendMessage, намного проще, и в нем нет мерцания. хотя я использовал его.
Я надеюсь, что это будет полезно для вас.
Ответ 2
Это не так прямолинейно, как можно было бы подумать. Вы должны использовать это пространство имен System.Drawing и переопределить событие OnPaint.
Вот некоторые ссылки некоторых людей, которые уже сделали это.