WinForm实现为TextBox设置水印文字功能
作者:shichen2014 时间:2023-06-09 21:15:38
本文实例展示了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#程序设计有所帮助!
标签:WinForm,TextBox,水印
0
投稿
猜你喜欢
自定义Android圆形进度条(附源码)
2023-09-09 22:54:57
Android实现登录注册功能封装
2023-03-20 08:46:46
Android学习教程之日历控件使用(7)
2023-01-06 23:10:46
C# 通过反射初探ORM框架的实现原理(详解)
2023-08-30 20:05:30
深入理解Android Bitmap
2023-07-29 08:52:14
Android framework ATMS启动流程
2022-11-21 10:08:07
C# 显示、隐藏窗口对应的任务栏
2023-06-13 03:57:32
一篇文章带你搞定JAVA内存泄漏
2022-04-28 21:07:08
IKAnalyzer结合Lucene实现中文分词(示例讲解)
2022-10-13 03:24:44
轻松学习C#的方法
2023-06-21 13:22:32
Yml转properties文件工具类YmlUtils的详细过程(不用引任何插件和依赖)
2021-08-18 03:55:00
C#生成漂亮验证码完整代码类
2022-06-17 14:03:33
JAVA多线程并发下的单例模式应用
2022-09-15 01:27:31
基于StreamRead和StreamWriter的使用(实例讲解)
2022-09-11 22:12:36
FeignClient如何通过配置变量调用配置文件url
2023-05-07 08:19:25
IDEA设置maven修改settings.xml配置文件无法加载仓库的解决方案
2023-08-23 22:39:35
Android仿最新微信相机功能
2022-06-08 00:35:08
C#正则表达式转义字符介绍
2022-11-03 01:10:09
DataGridView实现点击列头升序和降序排序
2022-07-31 21:54:01
Android精灵动画用法实例
2023-08-22 22:20:57