C# 在文本框中启动和关闭密码行为

C# 在文本框中启动和关闭密码行为,c#,winforms,controls,C#,Winforms,Controls,我有一个用作密码框的文本框,我想让默认密码可见,然后当它被更改时,用“*”隐藏它。因此,当用户打开表单时,密码文本框中已经有“welcome1”,但当用户更改它时,密码将显示为“*” 我现在所拥有的: if (txtPassword.Text == "welcome1") { // Set txtPassword.PasswordChar to null or empty. } else { txtPassword.PasswordChar = '*'; } 没关系,只是想出来了: p

我有一个用作密码框的文本框,我想让默认密码可见,然后当它被更改时,用
“*”
隐藏它。因此,当用户打开表单时,密码文本框中已经有“welcome1”,但当用户更改它时,密码将显示为“*

我现在所拥有的:

if (txtPassword.Text == "welcome1")
{
    // Set txtPassword.PasswordChar to null or empty.
}
else { txtPassword.PasswordChar = '*'; }

没关系,只是想出来了:

private void txtPassword_TextChanged(object sender, EventArgs e)
{
    if (txtPassword.Text != "welcome1")
    {
        txtPassword.PasswordChar = '*';
    }
}

要将密码字符重置为非掩码,请将其设置为空字符:

txtPassword.PasswordChar = '\0';

上指定的默认值可能使用两个文本框。1e可见为真2e可见为假 并将2e文本框密码字符设置为* 在第一个文本框上单击鼠标事件。 当有人单击文本框键入密码时,文本框会发生更改

    private void textBox1_MouseClick(object sender, MouseEventArgs e)
    {
        textBox1.Text = "";
        textBox1.Visible = false;
        textBox2.Visible = true;
        textBox2.Focus();
    }
也可以用鼠标点击表单,如果您没有键入文本,请返回文本框1 或者类似的

    private void Form1_MouseClick(object sender, MouseEventArgs e)
    {
        if (textBox2.Text == "")
        {
            textBox2.Visible = false;
            textBox1.Visible = true;
            textBox1.Text = "Welcome1";
        }
    }

如果有人想将密码设置为“welcome1”,那就有点傻了,再想想;-)我在节目的其他地方有其他措施来解决这个问题,但我想从更一般的意义上说,是的,这是一个未完成的解决方案。标题与内容不符。是否需要重置触发器密码行为的开和关字段?这更有意义。谢谢@ivan_Pozdeevt这是我需要的。我已经将它添加到我的代码中,现在它实现了我想要的:)太棒了!很高兴我能帮忙。