当前位置: 移动技术网 > IT编程>开发语言>c# > WinForm实现为TextBox设置水印文字功能

WinForm实现为TextBox设置水印文字功能

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例展示了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#程序设计有所帮助!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网