这里非常初学的程序员。我正在创建一个显示2个文本框的应用程序。信息通过条形码扫描仪输入。当两个文本框都填满后,它将显示绿色复选标记或显示消息框错误,说明条形码不匹配。
private void Form1_Load(object sender, EventArgs e)
{
//label1 = your tick
label2.Visible = false;
label3.Visible = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
//if same, show, if different, show message box error
if (string.Compare(textBox1.Text, textBox2.Text, true) == 0)
label2.Visible = true;
else
label2.Visible = false;
if (string.Compare(textBox1.Text, textBox2.Text, false) == 0)
MessageBox.Show("Barcodes Do Not Match")
//label3.Visible = true;
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
//if same, show, if different, show message box error
if (string.Compare(textBox1.Text, textBox2.Text, true) == 0)
label2.Visible = true;
else
label2.Visible = false;
if (string.Compare(textBox1.Text, textBox2.Text, false) == 0)
//label3.Visible = false;
MessageBox.Show("Barcodes Do Not Match");
//label3.Visible = true;
如果我这样做:
private void textBox2_TextChanged(object sender, EventArgs e)
{
//if same, show, if different, show message box error
if (string.Compare(textBox1.Text, textBox2.Text, true) == 0)
label2.Visible = true;
else
// label2.Visible = false;
// if (string.Compare(textBox1.Text, textBox2.Text, false) == 0)
MessageBox.Show("Barcodes Do Not Match");
//label3.Visible = false;
我没有从条形码中完全填写文本框,并且在将光标移出文本框之前弹出消息框。
我尝试了一些不同的东西。通过这个编码,我得到了复选标记,输入的文本没有问题(之前被切断),但仍然没有消息框。我对编码很新,所以任何帮助都非常感谢。感谢您的帮助。
答案 0 :(得分:0)
如果字符串相同,则只会传递消息框的比较,因此您不会看到消息框。您应该使用一些大括号来执行同一个块中的预期操作
//if same, show, if different, show message box error
if (string.Compare(textBox1.Text, textBox2.Text, true) == 0)
{
label2.Visible = true;
}
else
{
label2.Visible = false;
MessageBox.Show("Barcodes Do Not Match")
}