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