2010-08-17 104 views

回答

6

的決定性解決方案是使用一個與DateTimePickerShowUpDownTrueFormat集到TimeCustom。在後一種情況下,您可以使用hh:mmHH:mm作爲自定義格式。

2

這不適用於NumericUpDown控件。

+0

謝謝!那麼我必須使用'DomainUpDown'。 – 2010-08-17 12:15:41

2

我有一個聰明的想法〜 爲什麼不把一個覆蓋numericupdown控件的文本框部分的文本框(只顯示numericupdown的滾動條)?

設置您的文本框爲「00」作爲初始值,然後禁用它,以便用戶無法控制您的文本框。

然後輸入這些代碼:

Private Sub numericupdown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ndFrom.ValueChanged 

     If numericupdown1.Value < 10 Then 
      textbox1.Text = "0" & numericupdown1.Value 
     Else 
      textbox1.Text = numericupdown1.Value 
     End If 


End Sub 
+1

是的,但這有點ha,,不太乾淨。我想你很可能會使用標籤,但不是文本框。 – 2011-02-17 10:44:03

3
class CustomNumericUpDown:System.Windows.Forms.NumericUpDown 
{ 
    protected override void OnTextBoxTextChanged(object source, EventArgs e) 
    { 
     TextBox tb = source as TextBox; 
     int val = 0; 
     if (int.TryParse(tb.Text,out val)) 
     { 
      if (val < 10) 
      { 
       tb.Text = "0" + val.ToString(); 
      } 
     } 
     else 
     { 
      base.OnTextBoxTextChanged(source, e); 
     } 
    } 
} 

今天早上我不得不這樣做,併爲我的Windows窗體應用程序提出了一個自定義數字Up Down。你應該能夠很容易地改變這個VB.NET。

-1
class MyNumericUpDown : System.Windows.Forms.NumericUpDown 
{ 
    public override string Text 
    { 
     get 
     { 
     return base.Text; 
     } 
     set 
     { 
     if (value.Length < 2) 
      value = "0" + value; 

     base.Text = value; 
     } 
    } 
} 
相關問題