【发布时间】:2011-04-21 10:49:39
【问题描述】:
我正在使用 c# winform。
我有文本框的二维数组,我希望它们只接受来自 A-I 的字母我已经创建了该方法,但它仅适用于一个文本框。
这是我的代码:
textbox[i,j].Validated+=new EventHandler(TextBox_KeyPress);
private void TextBox_KeyPress(object sender, EventArgs e)
{
bool bTest = txtRegExStringIsValid(textbox[1,1].Text.ToString());
ToolTip tip = new ToolTip();
if (bTest == false)
{
tip.Show("Only A-I", textbox[1,1], 2000);
textbox[1,1].Text = " ";
}
}
private bool txtRegExStringIsValid(string textToValidate)
{
Regex TheRegExpression;
string TheTextToValidate;
string TheRegExTest = @"^[A-I ]+$";
TheTextToValidate = textToValidate;
TheRegExpression = new Regex(TheRegExTest);
if (TheRegExpression.IsMatch(TheTextToValidate))
{
return true;
}
else
{
return false;
}
}
谁能指导我该怎么做才能使此代码适用于所有文本框?
【问题讨论】:
-
为什么将
KeyPress事件处理方法注册为Validated事件的处理方法?这两个处理程序方法中的逻辑应该非常不同。 -
我是初学者请指导我怎么做?
-
使用两个不同的事件处理程序。我不知道您要完成什么,因此很难提出更详细的建议。每次按下一个键时应该进行什么验证,而当用户完全完成输入文本时应该进行验证?
-
我希望文本框只接受来自 a-i 的字母,实际上我正在尝试制作数独