在NumericUpDown控件中显示"00"而不是"0"

Clé*_*ent 7 vb.net datetime padding numericupdown

我让用户使用两个NumericUpDown控件选择运行计划任务的日期/时间.

我希望用前导0填充一位数值,以便显示09:00而不是9:0.

Clé*_*ent 6

最终的解决方案是使用DateTimePickerwith ShowUpDownset TrueFormat设置为TimeCustom.在后一种情况下,您可以使用hh:mmHH:mm作为自定义格式.


小智 5

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

今天早上我必须这样做,并为我的 Windows 窗体应用程序设计了一个自定义的数字向上向下。您应该能够轻松地将其更改为 VB.NET。