2009-07-06 31 views
0

Compelete noob在C#中的第一個應用程序工作。這是我正在嘗試做的......KeyDown/KeyPress和索引

用戶將在文本框中輸入一個「ID」,所有數字。我一直在試圖找出如何捕獲一個領先的ID爲零,比如:

5031 accepteble的ID 0827不是我們想要的

基本上,零不能系列中的前導數字。我想,perahps可能會被索引困住,但我很難過。有什麼想法嗎????

-Confused捕手

+0

可能0是一個有效的ID,或者必須是4位數字(或一些數字範圍)? – SwDevMan81 2009-07-07 03:05:17

回答

0
protected override void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    e.Handled = ((this.SelectionStart == 0) && (e.KeyCode == Keys.D0)) 
} 
1

如何像...可能需要tweek它。

protected override void OnKeyPress(KeyPressEventArgs e) 
{ 
    if(this.SelectionStart == 0 && e.KeyChar == (char)'0') 
    { 
     e.Handled = true; 
     return; 
    } 
} 
0

您是否希望阻止0,因爲他們將其鍵入或在離開現場後執行驗證?觀看按鍵的解決方案的問題在於,如果剪貼板中粘貼了無效值,則不會監視內容。

MaskedTextBoxOnValidating看一看該控件中,看看是否能解決你的問題你。

0

如果你想在一個盒子裏輸入一個數字,只需使用一個NumericUpDown而不是一個TextBox。在你的情況下,你的ID似乎總是有四位數。因此,請將最小值設置爲1000,最大值設置爲9999(或更大或設置爲Decimal.MaxValue)。