2013-02-25 18 views

Odpowiedz

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

To może być przydatne do korzystania z zatwierdzoną zdarzenia i poprosić o właściwości text

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

Spróbuj

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

Jeśli w ant, aby zakazać pustej wartości dla NumericUpDown, po prostu użyj tej klasy. Jego efekt polega na tym, że gdy użytkownik spróbuje skasować wartość kontrolną za pomocą select-all + backspace key, rzeczywista wartość liczbowa zostanie ponownie ustawiona. Nie jest to irytujące, ponieważ użytkownik może nadal select-all + wpisz cyfrę numeryczną, aby rozpocząć edycję nowej wartości numerycznej.

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; 
    } 
    }