c#按钮上的密码

时间:2014-02-05 12:53:24

标签: c# validation button login passwords

我正在使用Windows窗体。我在Windows窗体上有一个按钮,如果用户单击该按钮,则会出现另一个窗口,其中包含一个文本框和一个要求您输入密码的按钮。 如果用户正确键入密码,它将打开一个名为AdminPage的新表单,但是如果用户键入了错误的密码,则会出现一个消息框,要求再次尝试。问题是,即使我键入正确的密码,我似乎无法打开AdminPage。 如果有人可以指导我的错误,那将非常感谢

 private void EnterBtn_Click(object sender, EventArgs e)
    {
        if (PsswdTxt.Text == ("BuildStore"))
        {
            AdminPage m = new AdminPage();
            m.Show();
            this.Close();
        }
          else

                MessageBox.Show("Please Try again");

        }
    }
}

4 个答案:

答案 0 :(得分:1)

可能是您正在键入Buildstore或buildStore吗?比较区分大小写 - 如果您想匹配单词而不考虑大小写,您可以使用String.Compare,或者您可以将两个值都转换为大写/小写:

if (string.Compare(PsswdTxt.Text,"BuildStore" ,true) == 0) // true signifies to ignore case
{
   AdminPage m = new AdminPage();
   m.Show();
   this.Visible = false;
}

...或

   if (PsswdTxt.Text.ToUpper() == "BuildStore".ToUpper())
    {
       AdminPage m = new AdminPage();
       m.Show();
       this.Visible = false;
    }

答案 1 :(得分:1)

我会为此创建一个“登录”表单。 这个;控制每个用户帐户的某些功能。 但是“我们”不知道你在那里编程是什么。

您可以在应用程序启动时或单击该按钮时使用登录表单。 (甚至通过许多其他方式......)

虽然你的密码总是一样的;你可以试试这个: 1)创建“登录”表单;添加2个文本框和一个按钮。 2)编码如下:

public partial class Form1 : Form
{
    // Variable to create a new Form2
    Form2 f2 = new Form2();

    public Form1()
    {
        InitializeComponent();
    }

    // On Login Form Load...
    private void Form1_Load(object sender, EventArgs e)
    {
        btn_Login.Enabled = false;
    }

    // Login Button CLick
    private void btn_Login_Click(object sender, EventArgs e)
    {
        // replace "myUserName" with your User Name and "myPassword" with your password

            if (txtb_UserName.Text == "myUserName" && txtb_Password.Text == "myPassword")
            {
                // Shows the protected form
                f2.Show();
            }

                // If the Username or Password is not correct; A messageBox will be shows (or 2 if both are incorrect)
                // This can be perfected. But im just showing the basic examples.
            else if (txtb_UserName.Text != "myUserName")
            {
                // Sends an error message
                MessageBox.Show("Incorrect UserName");
            }

            else if (txtb_Password.Text != "myPassword")
            {
                // Sends an error message
                MessageBox.Show("Incorrect Password");
            }
        }

    // Add this code to enable or disable the login button. 
    // this will happen in both textBoxes (on TextChange Event).
    private void check_Text_Content()
    {
        if(txtb_UserName.Text != string.Empty && txtb_Password.Text != string.Empty)
        {
            btn_Login.Enabled = true;
        }

        else if (txtb_UserName.Text == string.Empty)
        {
            btn_Login.Enabled = false;
        }

        else if (txtb_Password.Text == string.Empty)
        {
            btn_Login.Enabled = false;
        }
    }

    // Now as you can see both textBoxes will check if their text is empty or not.
    // If it's empty; The login Buttton will be disabled. Else; will be Enabled.

    private void txtb_UserName_TextChanged(object sender, EventArgs e)
    {
        check_Text_Content();
    }

    private void txtb_Password_TextChanged(object sender, EventArgs e)
    {
        check_Text_Content();
    }
}

}

如果您想偶尔自定义密码,我会使用MS Access或SQL DataBase。 (以及定制它们的表单)。 不要试图阻止你或某事;但如果您不知道如何创建和管理SQL / MS Access数据库;我建议你搜索谷歌。 网上有很多教程。 我没有向您展示如何使用SQL或Access DB执行此操作;因为这将是一个巨大的一步一步的教程。 希望它适合你。

答案 2 :(得分:0)

试试这段代码..

 private void EnterBtn_Click(object sender, EventArgs e)
    {
        if (string.Equals(PsswdTxt.Text,"BuildStore"))
        {
            AdminPage m = new AdminPage();
            m.Show();
            this.Visible = false;
        }
        else
        {
          MessageBox.Show("Please Try again");
        }        
    }

答案 3 :(得分:0)

您应该尝试ShowDialog而不是Show。可能是它显示在另一种形式背后。