在VS2010 C#windows窗体应用程序中,是没有水印控件的,但在许多方面水印控件又可以使得我们的界面更加清晰明了一些,所以我们可以通过自己添加控件的方式来实现这种效果,具体步骤如下:
1、项目->添加->新建项->用户控件
然后,系统自动生成的代码是这样的,我们需要将继承的类由UserControl改为TextBox(系统自带的编辑框控件)
然后添加以下代码
//关于水印控件的一些代码
private const uint ECM_FIRST = 0x1500;
private const uint EM_SETCUEBANNER = ECM_FIRST + 1;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);
private string watermarkText;
public string WatermarkText
{
get { return wate