2011-07-27 84 views
1

我想是這樣的01或02或03,但不是00在我的文本框,即兩個允許文本框中的數字不應該是0文本框的文本格式

同樣清楚,我不想第一個0接下來是文本框中的第二個0。 那麼有沒有人有想法?

+0

可你只是做一個簡單的正則表達式? – KMC

+1

所以你可以編寫一個正則表達式,然後你需要爲文本框創建一組驗證事件。或者你可以捕獲文本條目來阻止它。或者如果你可以寫一個好的面具,那麼你可以使用MaskedTextBox來使你的UI很好地工作。 – Spence

回答

1

如果你的文本框的值的內容是整數,原因目前還不清楚形成你quesiton,可以使用這樣的事情:

public string GetFormattedString(int iValue) { 
    if(iValue!=0) 
     return iValue.ToString("00"); 

    return string.Empty; 
} 

這將返回「01」,例如,和0回報「 」。

如果不好,請更好地解釋你實際需要的東西。

問候。

1

你可能想嘗試MaskedTextBox中的好?

+0

雅我想使用maskedtextbox來顯示這樣的2068/12/23這是一個尼泊爾的日期,但我再次希望能夠在'/'之前增加數字,在按下箭頭鍵時按下並在按下箭頭鍵時減少下。 –

+0

你可能想看看一些自定義控件,就像telerik窗體的窗體可能有一個你想要的框。這就是說,不應該提供一個「DateTimePicker」控件工作提供用戶在尼泊爾文化? – Spence

+0

親愛的斯賓塞,我真的很遺憾地說,我沒有得到你的觀點,所以你可以詳細解釋一下。 –

1

不知道你的意思是否如此。但是你可以使用TextChanged事件。

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
    if (textBox1.Text == "00") 
    { 
     textBox1.Text = ""; 
    } 
    } 

如果文本框中的文本已更改,您可以檢查文本是否爲「00」。 然後你可以處理它,在我的例子中,文本框又是空的。

希望我能理解你並能幫助你。

0

如果您想驗證從TextBox控件中輸入文本,您可以使用正則表達式 在你的情況會是這樣

 string strRegex = @"^\d[1-9]$"; 
     Regex myRegex = new Regex(strRegex); 
     string strTargetString = @"03"; // put here value from text box 
     if (myRegex.IsMatch(strTargetString)) 
     { 
      MessageBox.Show("Correct"); 
     } 
     else 
     { 
      MessageBox.Show("Incorrect input"); 
     }