我讓用戶使用兩個NumericUpDown
控件爲計劃任務運行選擇日期/時間。在NumericUpDown控件中顯示「00」而不是「0」
我想要用一個前導0填充一位數值,以便顯示09:00
而不是9:0
。
我讓用戶使用兩個NumericUpDown
控件爲計劃任務運行選擇日期/時間。在NumericUpDown控件中顯示「00」而不是「0」
我想要用一個前導0填充一位數值,以便顯示09:00
而不是9:0
。
的決定性解決方案是使用一個與DateTimePicker
組ShowUpDown
到True
並Format
集到Time
或Custom
。在後一種情況下,您可以使用hh:mm
或HH:mm
作爲自定義格式。
這不適用於NumericUpDown控件。
我有一個聰明的想法〜 爲什麼不把一個覆蓋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
是的,但這有點ha,,不太乾淨。我想你很可能會使用標籤,但不是文本框。 – 2011-02-17 10:44:03
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。
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;
}
}
}
謝謝!那麼我必須使用'DomainUpDown'。 – 2010-08-17 12:15:41