消息框未出现在简单比较文本框字符串程序中

时间:2016-06-16 16:16:20

标签: c#

这里非常初学的程序员。我正在创建一个显示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;

我没有从条形码中完全填写文本框,并且在将光标移出文本框之前弹出消息框。

我尝试了一些不同的东西。通过这个编码,我得到了复选标记,输入的文本没有问题(之前被切断),但仍然没有消息框。我对编码很新,所以任何帮助都非常感谢。感谢您的帮助。

1 个答案:

答案 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")
}