如何在c#登录表单中有条件地使用passchar

时间:2015-07-08 21:15:58

标签: c# wpf wpf-controls

我创建了一个登录表单,默认显示文本'输入用户名'在用户名文本字段中,当单击密码文本字段时,反之亦然,显示“输入密码”#39;单击用户名文本字段时

现在我想使用pwd.passchar =" *"这里。但是密码字段不显示输入密码'作为文字,但*****。它应该显示文本,除非用户开始输入实际密码

这是我的代码 -

public Login()
    {
        InitializeComponent();

        if (pwd.Text == "enter password")
        {             
            // Don't show $$ in password text field
        }
        else
        {
            pwd.PasswordChar = '*';
        }
    }



private void textBox1_Click(object sender, EventArgs e)
    {
        uname.Text = string.Empty;

        if (string.IsNullOrWhiteSpace(pwd.Text))
        {
            pwd.Text = "enter password";
        }

    }

private void textBox2_Click(object sender, EventArgs e)
    {
        pwd.Text = string.Empty;

        if (string.IsNullOrWhiteSpace(uname.Text))
        {
            uname.Text = "enter username";

请建议更改......

2 个答案:

答案 0 :(得分:0)

使用空字符串播放PasswordChar和TextChanged事件

在vb.net中

Private Sub pwd_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pwd.TextChanged
    If pwd.Text = "enter password" Then
        pwd.PasswordChar = ""
    Else
        pwd.PasswordChar = "*"
    End If
End Sub

在c#中,探究此

    private void pwd_TextChanged(object sender, EventArgs e)
    {
        if (pwd.Text == "enter password")
            pwd.PasswordChar = Convert.ToChar(0);
        else if (pwd.Text == "")
            pwd.Text = "enter password";
        else
           pwd.PasswordChar = '*'; 
    }

答案 1 :(得分:0)

这对我有用 -

if (pwd.Text == "enter password" || pwd.Text == "")
        {
            //Do nothing. Enter Password text will be seen
        }
        else
        {
            pwd.PasswordChar = '*';
        }