【问题标题】:Add placeholder to textbox control for password c# winforms将占位符添加到密码 c# winforms 的文本框控件
【发布时间】:2018-10-16 01:41:03
【问题描述】:

如何在 c# winform 控件中添加占位符?

当控件失去焦点且控件文本为null时,我希望出现占位符。

当文本框为UsePasswordChar true时,仍然显示占位符(明文),当用户开始书写时,显示密码字符。

有什么想法吗?

【问题讨论】:

标签: c# winforms textbox placeholder


【解决方案1】:

我对 WinForms 不是很有经验,但我怀疑您可以使用 GotFocus 事件根据控件是否具有值来更改密码类型。

这应该为您指明正确的方向:https://msdn.microsoft.com/en-us/library/system.windows.forms.control.gotfocus(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    您可以为 lostFocus 和 AddFocus 添加事件

    Textbox myTxtbx = new Textbox();
    myTxtbx.Text = "Enter text here...";
    
    myTxtbx.GotFocus += GotFocus.EventHandle(RemoveText);
    myTxtbx.LostFocus += LostFocus.EventHandle(AddText);
    
    public void RemoveText(object sender, EventArgs e)
    {
         myTxtbx.Text = "";
    }
    
    public void AddText(object sender, EventArgs e)
    {
         if(String.IsNullOrWhiteSpace(myTxtbx.Text))
            myTxtbx.Text = "Enter text here...";
    }
    

    或者您可以创建一个带有提示的新类,请在此处查看此答案: Answer

    【讨论】:

      【解决方案3】:

      如果您正在使用 WinForms for .NET Core,或者计划在未来进行迁移,则可以使用 TextBox 的新 PlaceholderText 属性。它大大简化了事情。

      【讨论】:

        猜你喜欢
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        • 2014-11-24
        • 2012-01-03
        • 1970-01-01
        • 2011-01-05
        • 2018-11-27
        • 2013-01-18
        相关资源
        最近更新 更多