-2

我试图理解一段代码以重构它。输入值有几个验证来检查它们是否有效,每次验证都有一行代码我不明白它的作用。这是代码:

if (IsNotDouble(weight))
{
     MessageBox.Show("Weight must be a numeric value!");
     txtWeight.Select();
     return;
}

txtWeight是一个文本框。

谁能告诉我这里是做什么的。我txtWeight.Select()不明白为什么每次抛出错误后都应该在此处发布这段代码。

4

4 回答 4

3

它将光标设置到您必须输入重量的文本框中。

于 2013-02-20T08:37:43.867 回答
2

MSDN 中的 TextBox.Select() 方法。

激活控件。如果控件的 Selectable 样式位在 ControlStyles 中设置为 true,则 Select 方法将激活该控件,它包含在另一个控件中,并且其所有父控件都是可见和启用的。

在您的情况下,似乎每当验证检查失败时,都会选择特定的文本框来激活它,以便为其设置视觉焦点。

于 2013-02-20T08:41:08.867 回答
2

根据MSDN

如果控件的 Selectable 样式位在 ControlStyles 中设置为 true,则 Select 方法将激活控件。

这意味着,在您的场景中将焦点设置为 so,如果Select是,您将焦点设置为,以便用户可以立即在那里编写文本,而无需在整个表单中查找。ControlIsNotDouble(weight)truetxtWeighttxtWeight

于 2013-02-20T08:42:22.490 回答
1

Select 方法激活文本框控件,或者您可以将其视为将焦点带到文本框。在您的情况下可能不需要它,因为当验证发生时很可能焦点已经在该文本框上

于 2013-02-20T08:42:07.943 回答