VB - 文本框的参数,未输入任何内容

时间:2013-11-18 21:49:36

标签: vb.net

在我的程序中,我有一个名为“txtWallH”的文本框,其中我想要输入2.4到6之间的数字,我已经完成了。 (虽然如果有人能提出一个更好的方式,那就更好了)

因此,如果不满足此参数,则会显示msgbox,并清除该字段。我还希望在没有输入任何内容时发生这种情况。

这是我的代码:

If TxtWallH.Text <= 2.39 Or TxtWallH.Text >= 6.01 Or TxtWallH.Text = "" Then
MsgBox("Please enter a value between 2.4m and 6.0m (wall height).")
TxtWallH.Clear()
End If

由于

4 个答案:

答案 0 :(得分:1)

使用String.IsNullOrWhiteSpace(如果您的框架版本低于4,则使用String.IsNullOrEmpty)以检查是否输入了任何内容。另外,我建议使用OrElse而不是Or。另外,我建议明确地解析这个值:

Dim value As Double
If String.IsNullOrWhiteSpace(TxtWalH.Text) OrElse Not Double.TryParse(TxtWalH.Text, value) OrElse value < 2.4 OrElse value > 6.0 Then
    MsgBox("Please enter a value between 2.4m and 6.0m (wall height).")
    TxtWallH.Clear()
End If

答案 1 :(得分:0)

If IsNumeric(TxtWallH.Text) And (TxtWallH.Text > 2.40 Or TxtWallH.Text < 6.00)  Then
'Processing goes here
Else
MsgBox("Please enter a value between 2.4m and 6.0m (wall height).")
TxtWallH.Clear()
End If

这将考虑非数字和空白输入。随意更改&gt;和&lt; to&gt; =和&lt; =如果2.40和6.00仍然是有效的输入(如果它们是否存在则不完全清楚......)

答案 2 :(得分:0)

NumericUpDown控件的最小值为2.4,最大值为6,增量为.1将自动限制该值,您可以随意使用它。

您可以根据需要设置增量。用户可以滚动到该值或键入它。

答案 3 :(得分:0)

试试这个。

If Not (val(TxtWallH.Text) > 2.4 AND val(TxtWallH.Text) < 6.00) AND TxtWallH.Text <> "" Then
    MsgBox("Please enter a value between 2.4m and 6.0m (wall height).")
    TxtWallH.Clear()
End If

(val(TxtWallH.Text)&gt; 2.4 AND val(TxtWallH.Text)&lt; 6.00)    
此行将检查文本框的 VALUE 是否 BETWEEN 2.4和6.