如何使用C#使用水印System.Windows.Forms.TextBox?
我想在Windows窗体的文本框中使用c#水印 我在stackoverflow中找到了。但我真的不知道如何在我的windows应用程序中使用如何使用C#使用水印System.Windows.Forms.TextBox?,c#,winforms,watermark,C#,Winforms,Watermark,我想在Windows窗体的文本框中使用c#水印 我在stackoverflow中找到了。但我真的不知道如何在我的windows应用程序中使用 class WatermarkTextBox : TextBox { private const uint ECM_FIRST = 0x1500; private const uint EM_SETCUEBANNER = ECM_FIRST + 1; [DllImport("user32.dll", CharSet = CharS
class WatermarkTextBox : 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 watermarkText; }
set
{
watermarkText = value;
SetWatermark(watermarkText);
}
}
private void SetWatermark(string watermarkText)
{
SendMessage(this.Handle, EM_SETCUEBANNER, 0, watermarkText);
}
}
请帮助我如何使用SendMessage方法或建议我使用水印的任何其他(简单)方法。您只需在项目中使用此代码添加一个UserControl<代码>水印文本框应该出现在工具箱的某个地方。将它放在表单中需要水印文本框而不是普通的旧文本框的任何位置,设置
水印文本
属性,如果代码良好,您就可以开始了。您只需在项目中添加一个带有此代码的用户控件<代码>水印文本框应该出现在工具箱的某个地方。如果需要水印文本框而不是普通的旧文本框,请将其放在表单上,设置水印文本
属性,如果代码良好,您就可以开始了。您必须在项目中创建一个新类,然后才能使用方法设置水印(字符串水印文本)
在您的上,您必须在项目中创建一个新类,然后才能在您的上使用方法设置水印(字符串水印文本)
设置水印是文本框上的扩展方法,因此,在名称空间中添加WatermarkTextBox类的任何位置,都可以使用SetWatermark方法传递要应用于文本框的水印字符串,如:
`myTextBox.SetWatermark("your water mark text here");`
SetWatermark在设计器中将不作为TextBox的公共属性可见,但从代码中可以访问它,就像TextBox对象的任何bult in方法一样 SetWatermark是TextBox上的一个扩展方法,因此在命名空间中添加WatermarkTextBox类的任何位置,都可以使用SetWatermark方法传递要应用于TextBox的水印字符串,如:
`myTextBox.SetWatermark("your water mark text here");`
SetWatermark在设计器中将不作为TextBox的公共属性可见,但从代码中可以访问它,就像TextBox对象的任何bult in方法一样 这辆车很漂亮,试试这个吧:谢谢你的评论投票。让我开心。@Hans::)你在跟我开玩笑,伙计。。。。148474声誉…这是相当多的车,试试这个:谢谢你的评论投票。让我开心。@Hans::)你在跟我开玩笑,伙计。。。。148474声誉…我需要像这样使用文本框的HandleCreated事件:
txtVerificationCode.HandleCreated+=(发件人,e)=>txtVerificationCode.SetWatermark(“在此处粘贴验证码”)代码>我需要像这样使用文本框的HandleCreated事件:txtVerificationCode.HandleCreated+=(发送方,e)=>txtVerificationCode.SetWatermark(“在此处粘贴验证代码”)代码>