WinForm实现为TextBox设置水印文字功能
程序员文章站
2024-02-13 10:21:22
本文实例展示了winform实现为textbox设置水印文字功能,非常实用的技巧,分享给大家供大家参考。
关键代码如下:
using system;
usin...
本文实例展示了winform实现为textbox设置水印文字功能,非常实用的技巧,分享给大家供大家参考。
关键代码如下:
using system; using system.runtime.interopservices; using system.windows.forms; namespace winformutilhelpv2 { /// <summary> /// 基于.net 2.0的textbox工具类 /// </summary> public static class textboxtoolv2 { private const int em_setcuebanner = 0x1501; [dllimport("user32.dll", charset = charset.auto)] private static extern int32 sendmessage (intptr hwnd, int msg, int wparam, [marshalas(unmanagedtype.lpwstr)] string lparam); /// <summary> /// 为textbox设置水印文字 /// </summary> /// <param name="textbox">textbox</param> /// <param name="watermark">水印文字</param> public static void setwatermark(this textbox textbox, string watermark) { sendmessage(textbox.handle, em_setcuebanner, 0, watermark); } /// <summary> /// 清除水印文字 /// </summary> /// <param name="textbox">textbox</param> public static void clearwatermark(this textbox textbox) { sendmessage(textbox.handle, em_setcuebanner, 0, string.empty); } } }
测试代码如下:
using system; using system.windows.forms; using winformutilhelpv2; namespace winformutilhelpv2test { public partial class wintextboxtoolv2test : form { public wintextboxtoolv2test() { initializecomponent(); } private void wintextboxtoolv2test_load(object sender, eventargs e) { textbox1.setwatermark("请输入用户名称...."); textbox2.setwatermark("请输入用户密码...."); } private void button1_click(object sender, eventargs e) { textbox1.clearwatermark(); textbox2.clearwatermark(); } } }
测试效果如下图所示:
希望本文所述的为textbox设置水印文字功能示例对大家c#程序设计有所帮助!