demo效果:
aaarticlea/png;base64,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" alt="" />

(1)创建一个SetWaterText静态类
         需要添加的两个引用:using System.Runtime.InteropServices;using System.Windows.Forms;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 水印特效
{
public static class SetWaterText
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SendMessage(IntPtr hWnd, int msg,
int wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam); [DllImport("user32.dll")]
private static extern bool SendMessage(IntPtr hwnd, int msg, int wParam, StringBuilder lParam); [DllImport("user32.dll")]
private static extern bool GetComboBoxInfo(IntPtr hwnd, ref COMBOBOXINFO pcbi); [StructLayout(LayoutKind.Sequential)]
private struct COMBOBOXINFO
{
public int cbSize;
public RECT rcItem;
public RECT rcButton;
public IntPtr stateButton;
public IntPtr hwndCombo;
public IntPtr hwndItem;
public IntPtr hwndList;
} [StructLayout(LayoutKind.Sequential)]
private struct RECT
{
public int left;
public int top;
public int right;
public int bottom;
} private const int EM_SETCUEBANNER = 0x1501;
private const int EM_GETCUEBANNER = 0x1502; public static void SetCueText(Control control, string text)
{
if (control is ComboBox)
{
COMBOBOXINFO info = GetComboBoxInfo(control);
SendMessage(info.hwndItem, EM_SETCUEBANNER, , text);
}
else
{
SendMessage(control.Handle, EM_SETCUEBANNER, , text);
}
} private static COMBOBOXINFO GetComboBoxInfo(Control control)
{
COMBOBOXINFO info = new COMBOBOXINFO();
//a combobox is made up of three controls, a button, a list and textbox;
//we want the textbox
info.cbSize = Marshal.SizeOf(info);
GetComboBoxInfo(control.Handle, ref info);
return info;
} public static string GetCueText(Control control)
{
StringBuilder builder = new StringBuilder();
if (control is ComboBox)
{
COMBOBOXINFO info = new COMBOBOXINFO();
//a combobox is made up of two controls, a list and textbox;
//we want the textbox
info.cbSize = Marshal.SizeOf(info);
GetComboBoxInfo(control.Handle, ref info);
SendMessage(info.hwndItem, EM_GETCUEBANNER, , builder);
}
else
{
SendMessage(control.Handle, EM_GETCUEBANNER, , builder);
}
return builder.ToString();
}
//SetWaterText.SetCueText(TextBox1,"fdsadf")
}
}

(2)调用即可

 private void button1_Click(object sender, EventArgs e)
{
SetWaterText.SetCueText(textBox1, "请填写用户名");
SetWaterText.SetCueText(textBox2, "请填写密码");
}

用win32API 实现TextBox水印特效的更多相关文章

  1. WPF实现TextBox水印效果

    在日常项目中,一个TextBox需要输入用户名,我们通常的做法是先用一个TextBlock来说明,例如下面的截图: 今天将使用另外一种方式来展示,使用水印的方式.请参考下面的代码: <Windo ...

  2. WPF的TextBox水印效果详解

    一种自以为是的方式: 本来只是想简单的做个水印效果,在文本框内容为空的时候提示用户输入,这种需求挺常见.网上一搜 都是丢给你你一大段xaml代码.用c#代码实现我是不倾向了 既然用wpf就得Xaml啊 ...

  3. WPF 最简单的TextBox水印

    最简单的TextBox加水印的方法,但是不具有很强的通用性. 如果你只是使用一次,或者用的不多,偷偷懒可以使用. 因为此方法只需要修改TextBox的Template,而不用重写何任代码. 注意: 1 ...

  4. 转自:C#中TextBox水印提示的简单实现

    本文转自: 原作者: js2854 出处: http://js2854.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ...

  5. WPF自定义控件之水印文本(密码)框

    首先来讲讲创建这个控件的初衷,一个让我很郁闷的问题. 公司的客户端项目采用WPF+MVVM技术实现,在近期地推客户端的过程中遇到了一个很奇葩的问题:在登录界面点击密码框就会直接闪退,没有任何提示 密码 ...

  6. DSAPI+DS控件库 Windows7风格控件演示

    效果图 部分代码 DSAPI.Win7特性.任务栏特效.初始化() '这句非常重要,很多对任务栏特性的操作都需要先初始化 DSAPI.Win7特性.设置任务栏窗口缩略图(Me, My.Resource ...

  7. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

  8. Atitit 图像处理知识点  知识体系 知识图谱v2

    Atitit 图像处理知识点  知识体系 知识图谱v2 霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像 ...

  9. Atitit 图像处理知识点  知识体系 知识图谱

    Atitit 图像处理知识点  知识体系 知识图谱 图像处理知识点 图像处理知识点体系 v2 qb24.xlsx 基本知识图像金字塔op膨胀叠加混合变暗识别与检测分类肤色检测other验证码生成 基本 ...

随机推荐

  1. 初涉JavaScript模式 (8) : 函数 【概述】

    什么是函数 函数,是一个大型程序中的某部份代码,由一个或多个语句块组成.它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性.(维基百科) 函数的特点 第一类对象 在JavaScript世界中 ...

  2. C#制作ActiveX控件及部署升级(摘自网络)

    使用C#开发ActiveX控件 控件开发.制作CAB包.签名.部署 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序 ...

  3. 离线安装maven

    maven离线安装 1.在eclipse根目录下新建两个文件夹,links和myplugins,myplugins文件名可以自定义 2.下载maven http://pan.baidu.com/s/1 ...

  4. Yii2的相关学习记录,下载Yii2(一)

    原先学习过Yii1的相关知识,虽然也是半懂不懂的,但稍微的结构是了解的.现在利用晚上的时间学习下Yii2的使用,打算建一个后台管理系统,这里记录下,以免自己以后忘记. 目前已看一部分Yii2的权威指南 ...

  5. codeforces 305E Playing with String

    刚开始你只有一个字符串每次能选择一个有的字符串s,找到i,满足s[i - 1] = s[i + 1],将其分裂成3 个字符串s[1 ··  i - 1]; s[i]; s[i + 1 ·· |s|] ...

  6. tornado项目

    tornado项目之基于领域驱动模型架构设计的京东用户管理后台 本博文将一步步揭秘京东等大型网站的领域驱动模型,致力于让读者完全掌握这种网络架构中的“高富帅”. 一.预备知识: 1.接口: pytho ...

  7. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  8. Windows消息编程(写的不错,有前因后果)

    本文主要包括以下内容: 1.简单理解Windows的消息2.通过一个简单的Win32程序理解Windows消息3.通过几个Win32程序实例进一步深入理解Windows消息4.队列消息和非队列消息5. ...

  9. android Base64加密解密

    // 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 String str = "Hello!&q ...

  10. -_-#【Angular】自定义指令directive

    AngularJS学习笔记 <!DOCTYPE html> <html ng-app="Demo"> <head> <meta chars ...