private void textBox1_TextChanged(object sender, EventArgs e)
{
string str = "";
for (int i = 0; i <= label1.Text.Length; i++)
{
str = label1.Text;
if (str[i] == textBox1.Text[i])
{
return;
}
else
{
textBox1.Text = "";
return;
} }
} 请问这样能比较label和textbox中的数相等么??
{
string str = "";
for (int i = 0; i <= label1.Text.Length; i++)
{
str = label1.Text;
if (str[i] == textBox1.Text[i])
{
return;
}
else
{
textBox1.Text = "";
return;
} }
} 请问这样能比较label和textbox中的数相等么??
如果你想问 第一个字符的话 你只要这样就可以了 if (label1.Text[1]==textBox1.Text[1])
{
MessageBox.Show("相等");
}
else {
MessageBox.Show("不相等");
}
要是比较长度是不是相等就更简单了.
if (label1.Text.length==textBox1.Text.length)
{
MessageBox.Show("相等");
}
else {
MessageBox.Show("不相等");
}
if(label.Text==textBox.Text)
MessageBox.Show("相等");
else
MessageBox.Show("不等");如果楼主是想实时比较,那么就要捕获textbox的keypress或textChanged事件。楼主没有说清楚,这里就不好给代码了。
另外楼主的代码还是有问题的,如果Label的内容比textbox长的话,就会出现IndexOutofRange的异常
因为if (str[i] == textBox1.Text[i]) 是比较两个字符串的第一个字符是否相等(i=0一开始),当检验相等后,你是用了return,就是跳出textBox1_TextChanged这个函数,我认为你可能是想要继续循环,可以用continue。
而且你的写法有一定的问题,当Label的长度大于Textbox,那么你的index会报错,比如str[5]==textbox1.text[5],而textbox可能只有4位,这样就错了,c#比较字符串可以直接比较的,就像楼上说的,不用这么复杂。拙见。
{
if(label.Text==textBox.Text)
MessageBox.Show("相等");
else
MessageBox.Show("不等"); }
private void textBox1_TextChanged(object sender, EventArgs e)
{
if(label.Text==textBox.Text)
{
MessageBox.Show("相等");
}
else
{
MessageBox.Show("不等");
} }