丁子衡优秀作者
原创内容 来源:小居数码网 时间:2024-08-13 09:46:01 阅读() 收藏:34 分享:53 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有772个文字,大小约为3KB,预计阅读时间2分钟。
文章开始之前,先看下效果图:
那么这个是如何实现的,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%的朋友还想知道的:
(598)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:html文本输入框提示文字(文本框如何实现类似html的输入提示信息):http://sjzlt.cn/shuma/155154.html