2013-02-25 37 views
5

Wie überprüfe ich, ob der Benutzer ein NumericUpDown Steuerelement leer gelassen hat, den Wert darauf entfernen? So kann ich einen Wert von 0.Überprüfen, ob NumericUpDown leer ist

+0

überprüfen Sie die Länge der Variablen - http://www.dotnetperls.com/string-length –

Antwort

6
if(NumericUpDown1.Text == "") 
{ 
    // If the value in the numeric updown is an empty string, replace with 0. 
    NumericUpDown1.Text = "0"; 
} 
0
decimal d = 0 
if(decimal.TryParse(NumericUpDown1.Text, out d) 
{ 

} 
NumericUpDown1.Value = d; 
4

zuweisen Es könnte sinnvoll sein, die validierte Ereignis zu verwenden und für den Text Eigenschaft

private void myNumericUpDown_Validated(object sender, EventArgs e) 
{ 
    if (myNumericUpDown.Text == "") 
    { 
     myNumericUpDown.Text = "0"; 
    } 
} 
0

Versuchen Sie, diese

fragen
if (string.IsNullOrEmpty(((Control)this.nud1).Text)) 
{ 
    //null 
} 
else 
{ 
    //have value 
} 
0

Wenn Sie w Ameise verbieten leeren Wert für NumericUpDown, verwenden Sie einfach diese Klasse. Sobald der Benutzer versucht, den Steuerwert mit select-all + Rücktaste zu löschen, wird der tatsächliche numerische Wert erneut festgelegt. Dies ist nicht wirklich ein Ärgernis, da der Benutzer immer noch Select-All + eine numerische Ziffer eingeben kann, um mit der Bearbeitung eines neuen numerischen Werts zu beginnen.

sealed class NumericUpDownEmptyValueForbidder { 
    internal NumericUpDownEmptyValueForbidder(NumericUpDown numericUpDown) { 
     Debug.Assert(numericUpDown != null); 
     m_NumericUpDown = numericUpDown; 
     m_NumericUpDown.MouseUp += delegate { Update(); }; 
     m_NumericUpDown.KeyUp += delegate { Update(); }; 
     m_NumericUpDown.ValueChanged += delegate { Update(); }; 
     m_NumericUpDown.Enter += delegate { Update(); }; 
    } 
    readonly NumericUpDown m_NumericUpDown; 
    string m_LastKnownValueText; 

    internal void Update() { 
     var text = m_NumericUpDown.Text; 
     if (text.Length == 0) { 
      if (!string.IsNullOrEmpty(m_LastKnownValueText)) { 
       m_NumericUpDown.Text = m_LastKnownValueText; 
      } 
      return; 
     } 
     Debug.Assert(text.Length > 0); 
     m_LastKnownValueText = text; 
    } 
    }