Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有用户名和密码的简单登录屏幕_C#_Winforms - Fatal编程技术网

C# 带有用户名和密码的简单登录屏幕

C# 带有用户名和密码的简单登录屏幕,c#,winforms,C#,Winforms,我正在尝试创建一个简单的登录屏幕,它有两个文本框和一个按钮。当我在第一个文本框(用户名)和第二个文本框(密码)中插入的字符串与我之前定义的字符串匹配时,按钮启用属性应为True,单击时,它应打开另一个表单,以下是我迄今为止编写的代码: public partial class LogInScreen : Form { public LogInScreen() { InitializeComponent(); string lietotajvards

我正在尝试创建一个简单的登录屏幕,它有两个文本框和一个按钮。当我在第一个文本框(用户名)和第二个文本框(密码)中插入的字符串与我之前定义的字符串匹配时,按钮启用属性应为True,单击时,它应打开另一个表单,以下是我迄今为止编写的代码:

public partial class LogInScreen : Form
{
    public LogInScreen()
    {
        InitializeComponent();
        string lietotajvards = "user";
        string parole = "user";
        if (textBox1.Text == lietotajvards && textBox2.Text == parole)
        {
            button1.Enabled = true;
        }
        else
        {
            button1.Enabled = true;
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Form1 f1 = new Form1();
        this.Hide();
        f1.Show();
    }
}

问题是,在我的代码中,它不能像预期的那样工作,并且按钮一直处于启用状态。问题出在哪里?

表单的构造函数只运行一次,您需要处理输入控件的文本更改事件,然后重新评估您的条件


另外,不用说(尽管这里有人说)这是一种处理登录应用程序的糟糕方式。

当表单初始化时,您的代码只会执行一次,您必须使用
textbox1
textbox2
上的
textchanged
事件,此后,您可以使用编写的代码检查按钮是否需要启用。在else中,您必须禁用按钮

文本更改事件处理程序:

void textBox1_TextChanged(object sender, EventArgs e)
{
    handleLoginButton();
}

void textBox2_TextChanged(object sender, EventArgs e)
{
    handleLoginButton();
}
private void handleLoginButton(){
        string lietotajvards = "user";
        string parole = "user";

        if (textBox1.Text == lietotajvards && textBox2.Text == parole)
        {
            button1.Enabled = true;
        }
        else
        {
            button1.Enabled = false;
        }
}
启用/禁用按钮:

void textBox1_TextChanged(object sender, EventArgs e)
{
    handleLoginButton();
}

void textBox2_TextChanged(object sender, EventArgs e)
{
    handleLoginButton();
}
private void handleLoginButton(){
        string lietotajvards = "user";
        string parole = "user";

        if (textBox1.Text == lietotajvards && textBox2.Text == parole)
        {
            button1.Enabled = true;
        }
        else
        {
            button1.Enabled = false;
        }
}

更改为按钮1。启用=错误;在其他情况下