winform文本框怎么实现html的placeholder效果

本文介绍如何在WinForms中通过重写TextBox控件来实现类似HTML5 input元素的占位符功能。通过提供的代码示例,可以轻松地为TextBox添加自定义的占位文本。

winfrom默认是不支持这种操作的,此时需要重写控件操作,具体代码如下:

 public class TextBoxEx : TextBox
        {

            public String PlaceHolderStr { get; set; }

            protected override void OnPaint(PaintEventArgs e)
            {
                //
                if (!String.IsNullOrEmpty(this.PlaceHolderStr))
                {
                    //坐标位置 0,0 需要根据对齐方式重新计算.
                    e.Graphics.DrawString(this.PlaceHolderStr, this.Font, new SolidBrush(Color.LightGray), 0, 0);
                }
                else
                {
                    base.OnPaint(e);
                }
            }
        }

  然后在Designer.cs即设计器里面实现该重写的控件

this.ADTextBox = new frmInfoBarCodeFeeDetailed.TextBoxEx();

 

然后控件属性就会出现所重写的属性了,设置即可

完毕!!!

 

 原创作品,转载请注明出处!!!

 

如果您觉得这篇博客对您产生了一些必要的帮助,  欢迎您对我意思意思, 我将会觉得您非常够意思!

 

 

转载于:https://www.cnblogs.com/boosasliulin/p/7767208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值