2016-10-21 4 views

Antwort

1

Sie können einfach einen Event-Handler für das Leave-Ereignis hinzufügen und die Eigenschaft Maximum des NumericUpDown in diesem Ereignis

Sub AB_Leave(sender As Object, e As EventArgs) 

    Dim value As Decimal 
    ' Safety check, the user can type anything in the textbox, 
    ' we accept only a decimal number 
    If Decimal.TryParse(AB.Text, value) Then 
     numericUpDown1.Maximum = value 
    End If 
End Sub 
+0

Es funktioniert! Vielen Dank für die Antwort, jetzt ist mein Problem, wenn ich auf die NumericUpDown eine Zahl eingeben, die mehr als der Wert des AB.Text ist, sollte ein Fehler angezeigt werden. – User2341

+0

wie folgt: Wenn numberUpDown.value> AB.Text MsgBox ("Ungültige Daten", MsgBoxStyle.Critical, "Inventory System" Ich weiß nicht, warum Fehler nicht angezeigt wird, passt es nur automatisch den Wert von NumericUpDown gleich dem AB.Text Wert – User2341

+0

Ich bin mir nicht bewusst, irgendetwas bereit, in diesem Zusammenhang verwendet werden.Wahrscheinlich sollten Sie direkt mit der Tastatur Ereignisse wie in dieser Antwort erläutert http://stackoverflow.com/questions/17369670/how-to-validate-numericupdown- When-Wert-Change-and-Not-Lost-Focus, aber was ist dann mit den Copy/Paste-Operationen? Wie Sie sehen können, ist es nicht einfach, diese Ebene der Kontrolle ohne direkte Unterstützung von der Steuerung selbst zu erreichen Unterklasse die Kontrolle und das ist eine andere Dose Würmer und Sie sollten die Kosten zu gewichten, um es zu implementieren, bevor Sie vorwärts gehen – Steve

Verwandte Themen