如何使用Visual Basic将文本框限制为仅正数? [关闭]

问题描述 投票:-2回答:1

在折扣领域工作。该字段只需要允许0到100之间的正数。字段是一个文本框。使用visual studio和visual basic。

vb.net visual-studio
1个回答
1
投票

您可以使用NumericUpDown控件及其Minimum,Maximum和DecimalPlaces属性。

但是,如果您不喜欢滚动框并且真的想使用TextBox,可以这样做:

Private min As Decimal = 1
Private max As Decimal = 100

Private Sub txtDiscount_TextChanged(sender As Object, e As EventArgs) Handles txtDiscount.TextChanged
    Dim i As Decimal
    Static lastValidText = ""
    If (txtDiscount.Text = "") OrElse (Decimal.TryParse(txtDiscount.Text, i) AndAlso (i >= min And i <= max)) Then
        lastValidText = txtDiscount.Text
    Else
        txtDiscount.Text = lastValidText
        txtDiscount.SelectionStart = txtDiscount.TextLength
    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.