我需要帮助,以允许输入的文本框数据仅在A-H之间的字段中,然后显示在列表框中。到目前为止,这是我的代码,谢谢。我仍然可以选择字母A-H之外的字母,但是无论选择哪个字母,我都会收到一条错误消息。我需要它,所以我只能选择A-H,如果我选择了其他任何内容,它会显示一条错误消息。
try
{
if (!this.TxtCoach.Text.Contains('A') ||
!this.TxtCoach.Text.Contains('B') ||
!this.TxtCoach.Text.Contains('C') ||
!this.TxtCoach.Text.Contains('D') ||
!this.TxtCoach.Text.Contains('E') ||
!this.TxtCoach.Text.Contains('F') ||
!this.TxtCoach.Text.Contains('G') ||
!this.TxtCoach.Text.Contains('H'))
{
throw new ArgumentException("Correct your coach is valid!");
}
}
catch (ArgumentException ex)
{
MessageBox.Show(ex.Message);
}
LstFinalB.Items.Add(TxtCoach.Text);
答案 0 :(得分:1)
您可以使用它来验证在输入框中输入的数据。
public bool IsAccepted(String textToValidate)
{
Regex strPattern = new Regex("^[a-hA-H]*$");
if (!strPattern.IsMatch(textToValidate))
{
return false;
}
return true;
}
以下是我如何通过控制台应用程序对其进行测试的屏幕截图:
答案 1 :(得分:0)
try
{
if (this.TxtCoach.Text.Contains('A') ||
this.TxtCoach.Text.Contains('B') ||
this.TxtCoach.Text.Contains('C') ||
this.TxtCoach.Text.Contains('D') ||
this.TxtCoach.Text.Contains('E') ||
this.TxtCoach.Text.Contains('F') ||
this.TxtCoach.Text.Contains('G') ||
this.TxtCoach.Text.Contains('H'))
{
LstFinalB.Items.Add(TxtCoach.Text);
}
else
{
throw new ArgumentException("Correct your coach is valid!");
}
}
catch (ArgumentException ex)
{
MessageBox.Show(ex.Message);
}
您的If语句逻辑是错误的,并且您永远不会输入正确的信息,并且Listbox.Items.Add(Item)也位于错误的位置。