欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

html文本输入框提示文字(文本框如何实现类似html的输入提示信息)

数码知识

丁子衡优秀作者

原创内容 来源:小居数码网 时间:2024-08-13 09:46:01 阅读() 收藏:55 分享:61

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有772个文字,大小约为3KB,预计阅读时间2分钟。

文章开始之前,先看下效果图:

文本框如何实现类似html的输入提示信息

那么这个是如何实现的,Winform自带的TextBox是不具备这种PlaceHolder提示功能的,要实现它,我们就需要重写TextBox控件。

具体代码如下:

using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace RevitDevelopment.CustomControls{    /// <summary>    /// 带有PlaceHolder的Textbox    /// </summary>    /// <creator>marc</creator>    public class PlaceHolderTextBox : TextBox    {        private bool _isPlaceHolder = true;        private string _placeHolderText;        /// <summary>        /// 提示文本        /// </summary>        public string PlaceHolderText        {            get { return _placeHolderText; }            set            {                _placeHolderText = value;                SetPlaceholder();            }        }        /// <summary>        /// 文本        /// </summary>        public new string Text        {            get            {                return _isPlaceHolder ? string.Empty : base.Text;            }            set            {                base.Text = value;            }        }        /// <summary>        /// 构造函数        /// </summary>        public PlaceHolderTextBox()        {            GotFocus += RemovePlaceHolder;            LostFocus += SetPlaceholder;        }        /// <summary>        /// 当焦点失去的时候,将清空提示文本        /// </summary>        private void SetPlaceholder()        {            if (string.IsNullOrEmpty(base.Text))            {                base.Text = PlaceHolderText;                this.ForeColor = Color.Gray;                this.Font = new Font(this.Font, FontStyle.Italic);                _isPlaceHolder = true;            }        }        /// <summary>        /// 当焦点获得的时候,将显示提示文本        /// </summary>        private void RemovePlaceHolder()        {            if (_isPlaceHolder)            {                base.Text = "";                this.ForeColor = SystemColors.WindowText;                this.Font = new Font(this.Font, FontStyle.Regular);                _isPlaceHolder = false;            }        }        /// <summary>        /// 失去焦点        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void SetPlaceholder(object sender, EventArgs e)        {            SetPlaceholder();        }        /// <summary>        /// 获得焦点        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void RemovePlaceHolder(object sender, EventArgs e)        {            RemovePlaceHolder();        }    }}

代码是简单明了的,它提供了属性PlaceHolderText,用于填写提示信息,当焦点获得或者失去时,将触发事件。

将该代码,写好后编译,将会在“工具箱”中出现这个组件:

将该组件拖入您想要使用的地方,然后设置如下属性:

如此,便可以实现开篇的效果图。

祝您用餐愉快。

上面就是小居数码小编今天给大家介绍的关于(文本框如何实现类似html的输入提示信息)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(402)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:html文本输入框提示文字(文本框如何实现类似html的输入提示信息):http://sjzlt.cn/shuma/155154.html

猜你喜欢