Compelete noob在C#中的第一個應用程序工作。這是我正在嘗試做的......KeyDown/KeyPress和索引
用戶將在文本框中輸入一個「ID」,所有數字。我一直在試圖找出如何捕獲一個領先的ID爲零,比如:
5031 accepteble的ID 0827不是我們想要的
基本上,零不能系列中的前導數字。我想,perahps可能會被索引困住,但我很難過。有什麼想法嗎????
-Confused捕手
Compelete noob在C#中的第一個應用程序工作。這是我正在嘗試做的......KeyDown/KeyPress和索引
用戶將在文本框中輸入一個「ID」,所有數字。我一直在試圖找出如何捕獲一個領先的ID爲零,比如:
5031 accepteble的ID 0827不是我們想要的
基本上,零不能系列中的前導數字。我想,perahps可能會被索引困住,但我很難過。有什麼想法嗎????
-Confused捕手
protected override void OnKeyDown(object sender, KeyEventArgs e)
{
e.Handled = ((this.SelectionStart == 0) && (e.KeyCode == Keys.D0))
}
如何像...可能需要tweek它。
protected override void OnKeyPress(KeyPressEventArgs e)
{
if(this.SelectionStart == 0 && e.KeyChar == (char)'0')
{
e.Handled = true;
return;
}
}
您是否希望阻止0,因爲他們將其鍵入或在離開現場後執行驗證?觀看按鍵的解決方案的問題在於,如果剪貼板中粘貼了無效值,則不會監視內容。
在MaskedTextBox和OnValidating看一看該控件中,看看是否能解決你的問題你。
如果你想在一個盒子裏輸入一個數字,只需使用一個NumericUpDown而不是一個TextBox。在你的情況下,你的ID似乎總是有四位數。因此,請將最小值設置爲1000,最大值設置爲9999(或更大或設置爲Decimal.MaxValue)。
可能0是一個有效的ID,或者必須是4位數字(或一些數字範圍)? – SwDevMan81 2009-07-07 03:05:17