如何将一些文本放入文本框中,当用户在其中键入内容时会自动将其删除?(在WPF中)
我正在寻找一种方法来将占位符文本添加到文本框中,就像在html5中使用文本框一样.
即如果文本框没有文本,则添加文本Enter some text here,当用户点击它时,占位符文本消失并允许用户输入自己的文本,如果文本框失去焦点但仍然没有文本,则占位符为添加回文本框.
显示" 在此处键入... ",直到用户将文本输入到a中,这TextBox是当今众所周知的可用性功能.如何在C#中实现此功能?
我的想法是覆盖OnTextChanged,但处理文本更改的逻辑" 在这里输入 "有点棘手......
在初始化时显示" 在此输入 "并在第一次输入时将其删除很容易,但我想在每次输入的文本变空时显示消息.
System.Windows.Forms.TextBox使用C#在.Net 2.0中实现水印功能的最佳方法是什么?
编辑:
使用CodeProject中的现成组件非常简单.它还带有代码项目开放许可证(CPOL).
我的程序:只有一个文本框.我正在使用C#语言编写代码.
我的目标:在文本框中显示文字/水印:'请输入你的名字'.因此,当用户点击文本框时,默认文本/水印会被清除/删除,以便用户可以在文本框中输入他的名字.
我的问题:我尝试了各种在线可用的代码,但它们似乎都不适合我.所以,我想我应该在这里问一个简单的代码.我在网上找到了一个代码,但似乎不起作用:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SetWatermark("Enter a text here...");
}
private void SetWatermark(string watermark)
{
textBox1.Watermark = watermark;
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
错误1'System.Windows.Forms.TextBox'不包含'Watermark'的定义,并且没有扩展方法'Watermark'接受类型'System.Windows.Forms.TextBox'的第一个参数可以找到(你错过了吗?使用指令或程序集引用?)
如果您对我的目标有任何其他建议,我将非常感激.我在网上累了很多例子,但都很混乱/不工作.感谢您的帮助.:)
在我的应用程序中,我有一个用于输入用户名的文本框.如果文本为空,我想在灰色的同一文本框中显示"在此处输入用户名".文本框中是否有这样的属性.就像在Firefox浏览器中一样,如果URL字段为空,它将以灰色显示"转到网站"
谢谢
我是新手,最近才问这个问题问题,它告诉我如何为 TextBox 的底部边框提供最佳选择,以防止由绘制的图形导致的闪烁/撕裂。
现在我的问题是如何为文本框中的文本/字符串设置边距/填充,代码如下:
using System.Drawing;
using System.Windows.Forms;
namespace main.Classes.CustomControls {
class TextBoxMaterial : TextBox {
public TextBoxMaterial() {
this.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.Controls.Add(new Label() {
Height = 2,
Dock = DockStyle.Bottom,
BackColor = Color.Gray,
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们有一个WinForms控件,它是一个扩展版本,ComboBox在没有选择或文本时支持"cue banners"(又名水印).我们的控制与使用CB_SETCUEBANNER的此实现类似.
但是,当我们DropDownStyle为控件设置ComboBoxStyle.DropDown(也就是说,也允许自由文本输入)时,cue横幅显示,而不是斜体(这通常是如何显示).
有谁知道如何在ComboBoxStyle.DropDown模式中以斜体绘制一个组合框的提示横幅???