相关疑难解决方法(0)

水印/提示文本/占位符TextBox

如何将一些文本放入文本框中,当用户在其中键入内容时会自动将其删除?(在WPF中)

c# wpf textbox watermark hint

246
推荐指数
12
解决办法
21万
查看次数

将占位符文本添加到文本框

我正在寻找一种方法来将占位符文本添加到文本框中,就像在html5中使用文本框一样.

即如果文本框没有文本,则添加文本Enter some text here,当用户点击它时,占位符文本消失并允许用户输入自己的文本,如果文本框失去焦点但仍然没有文本,则占位符为添加回文本框.

c# wpf placeholder

129
推荐指数
9
解决办法
24万
查看次数

WinForms中的水印TextBox

任何人都可以指向一个基本的Windows窗体TextBox的良好实现,它最初会显示水印文本,当光标进入时它会消失吗?我想我可以通过创造性地使用Enter和Leave事件来创建我自己的东西,但我确信在某个地方有一个完全可用的实现.我看到了WPF实现,如果有必要,我可以嵌套它,但原生的WinForms TextBox派生会更好.

到目前为止,我有这个; 尚未尝试过,但有没有人看到任何明显的问题?

public class WatermarkTextBox:TextBox
{
    public string WatermarkText { get; set; }

    public Color WatermarkColor { get; set; }

    private Color TextColor { get; set; }

    private bool isInTransition;

    public WatermarkTextBox()
    {
        WatermarkColor = SystemColors.GrayText;
    }

    private bool HasText { get { return Text.IsNotNullOrBlankOr(WatermarkText); }}

    protected override void OnEnter(EventArgs e)
    {
        base.OnEnter(e);

        if (HasText) return;

        isInTransition = true;
        ForeColor = TextColor;
        Text = String.Empty;
        isInTransition = false;
    }

    protected override void OnForeColorChanged(EventArgs e)
    {
        base.OnForeColorChanged(e);
        if (!isInTransition) …
Run Code Online (Sandbox Code Playgroud)

.net textbox watermark winforms

53
推荐指数
5
解决办法
3万
查看次数

如何实现显示"在此处输入"的TextBox?

显示" 在此处键入... ",直到用户将文本输入到a中,这TextBox是当今众所周知的可用性功能.如何在C#中实现此功能?

我的想法是覆盖OnTextChanged,但处理文本更改的逻辑" 在这里输入 "有点棘手......

在初始化时显示" 在此输入 "并在第一次输入时将其删除很容易,但我想在每次输入的文本变空时显示消息.

c# textbox winforms

39
推荐指数
4
解决办法
9万
查看次数

文本框的水印

我的程序:只有一个文本框.我正在使用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'的第一个参数可以找到(你错过了吗?使用指令或程序集引用?)

如果您对我的目标有任何其他建议,我将非常感激.我在网上累了很多例子,但都很混乱/不工作.感谢您的帮助.:)

c# visual-studio-2010

9
推荐指数
1
解决办法
4万
查看次数

如何在C#Winforms程序的文本框中突出显示文本?

我有一个带有多个文本框的C#Winforms程序.我使用每个框的属性在其中放置文本,向用户解释其中的值.每当用户选择该框时,我希望文本突出显示.通过Tab键或鼠标单击.如果有一种方法可以显示文本框中除了它之外的某个值,我就不必这样做了.

我尝试了Textbox.select方法,但没有效果.与相同.

这是我的程序的屏幕截图.

我的代码:

    private void grapplingText1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
    {
        grapplingText1.SelectionStart = 0;
        grapplingText1.SelectionLength = grapplingText1.Text.Length;
Run Code Online (Sandbox Code Playgroud)

这样做,还是更需要?

c# textbox highlight winforms

7
推荐指数
2
解决办法
2万
查看次数

在C#中单击时清除单个Texbox?

如何制作它,以便在单击文本框时,文本框中最初的文本("在此处输入文本")将被清除,并且仅在第一次单击时被清除?

编辑:对不起,我正在使用C#.

.net c# textbox winforms

2
推荐指数
1
解决办法
1123
查看次数

如何使用C#水印System.Windows.Forms.TextBox?

我想用c#在我的Windows窗体的文本框中使用水印?

我在stackoverflow中找到了这个链接.但我真的无法弄清楚如何在我的Windows应用程序中使用.

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);
    }       

}
Run Code Online (Sandbox Code Playgroud)

请帮助如何使用SendMessage方法或建议我使用水印的任何其他(简单)方法.

c# watermark winforms

0
推荐指数
1
解决办法
7498
查看次数