本文實例展示了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#程序設計有所幫助!
新聞熱點
疑難解答