{
if (System.Text.RegularExpressions.Regex.IsMatch(inputText.Text, @"^[0-9]\d*$"))
{
if (inputText.Text.Length <= 4)
{
rules(sender, e);
inputText.Text = "";
inputText.Focus();
}
}
else
{
inputText.Text = "";
}
}
///
/// 比对结果及规则限制、计时器提示等
///
///
///
private void rules(object sender,EventArgs e)
{
int a = 0;
int b = 0;
for (int r = 0; r < inputText.Text.Length; r++)
{
//判断玩家输入的数据与电脑随机产生的数据相对比
if (inputText.Text[r].Equals(randomText.Text[r]))
{
a++;
}
if (inputText.Text.Contains(randomText.Text[r]))
{
b++;
}
// 输入的字符如果有相同的,则清空输入框,并让玩家重新输入
if ( inputText.Text[0].Equals(inputText.Text[1]) ||
inputText.Text[0].Equals(inputText.Text[2]) ||
inputText.Text[0].Equals(inputText.Text[3]) ||
inputText.Text[1].Equals(inputText.Text[2]) ||
inputText.Text[1].Equals(inputText.Text[3]) ||
inputText.Text[2].Equals(inputText.Text[3])
)
{
inputText.Text = "";
break;
}
}
}
位什么上面if (inputText.Text.Length == 4)的时候没事,而<=4 的时候会抛出如下异常。。。。。。怎么解决??
未处理 System.IndexOutOfRangeException
Message=Index was outside the bounds of the array.
Source=mscorlib
可以不看上面代码(有点乱)
我的本意就是,在一个输入框中,只能让用户输入4个数字,并且不能重复。而且还要当检测到第二个数字与第一个相同时,就弹出一个警告框,如何让其实现,用CSharp解决。。。。。急啊!!!!!!!!!!!!!11