2010-08-17 23 views

Répondre

6

La solution définitive est d'utiliser un DateTimePicker avec ShowUpDown ensemble à True et Format ensemble à Time ou Custom. Dans ce dernier cas, vous utiliserez hh:mm ou HH:mm en tant que format personnalisé.

2

Cela n'est pas possible avec un contrôle NumericUpDown.

+0

Merci! Je vais devoir utiliser un 'DomainUpDown' alors. –

2

J'ai une idée géniale ~ Pourquoi ne pas mettre une zone de texte couvrant la partie textbox du contrôle numericupdown (seul le défilement de numericupdown sera affiché)?

Définissez votre zone de texte avec "00" comme valeur initiale, puis désactivez-la afin que l'utilisateur ne puisse pas contrôler votre zone de texte.

Puis tapez ces codes:

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

Ouais, mais c'est un peu hackish, pas très propre. Je suppose que vous utiliseriez probablement un label, pas une zone de texte. –

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

Je devais faire ceci ce matin et est venu avec un numérique vers le haut personnalisé vers le bas pour mon application Windows Forms. Vous devriez être capable de changer cela assez facilement à 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; 
     } 
    } 
}