当前位置: 编程技术>.net/c#/asp.net
WinForm实现为TextBox设置水印文字功能
来源: 互联网 发布时间:2014-11-02
本文导语: 本文实例展示了WinForm实现为TextBox设置水印文字功能,非常实用的技巧,分享给大家供大家参考。 关键代码如下: using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace WinFormUtilHelpV2 { /// /// 基于.NET 2....
本文实例展示了WinForm实现为TextBox设置水印文字功能,非常实用的技巧,分享给大家供大家参考。
关键代码如下:
using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace WinFormUtilHelpV2 { /// /// 基于.NET 2.0的TextBox工具类 /// 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); /// /// 为TextBox设置水印文字 /// /// TextBox /// 水印文字 public static void SetWatermark(this TextBox textBox, string watermark) { SendMessage(textBox.Handle, EM_SETCUEBANNER, 0, watermark); } /// /// 清除水印文字 /// /// TextBox 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#程序设计有所帮助!