我試圖禁用所有的擊鍵輸入到文本框,除了以下:C# - 禁用鍵盤輸入進入一個文本框
0 1 2 3 4 5 6 7 8 9。
現在我有以下的代碼,但它只是檢查是否一個字母被輸入了作爲第一個值(更不用提(除了數字和「」應該被禁用,因此所有鍵)它真的馬虎):
private void yDisplacementTextBox_TextChanged(object sender, EventArgs e)
{
if (yDisplacementTextBox.Text.ToUpper() == "A" || yDisplacementTextBox.Text.ToUpper() == "B" || yDisplacementTextBox.Text.ToUpper() == "C" ||
yDisplacementTextBox.Text.ToUpper() == "D" || yDisplacementTextBox.Text.ToUpper() == "E" || yDisplacementTextBox.Text.ToUpper() == "F" ||
yDisplacementTextBox.Text.ToUpper() == "G" || yDisplacementTextBox.Text.ToUpper() == "H" || yDisplacementTextBox.Text.ToUpper() == "I" ||
yDisplacementTextBox.Text.ToUpper() == "J" || yDisplacementTextBox.Text.ToUpper() == "K" || yDisplacementTextBox.Text.ToUpper() == "L" ||
yDisplacementTextBox.Text.ToUpper() == "M" || yDisplacementTextBox.Text.ToUpper() == "N" || yDisplacementTextBox.Text.ToUpper() == "O" ||
yDisplacementTextBox.Text.ToUpper() == "P" || yDisplacementTextBox.Text.ToUpper() == "Q" || yDisplacementTextBox.Text.ToUpper() == "R" ||
yDisplacementTextBox.Text.ToUpper() == "S" || yDisplacementTextBox.Text.ToUpper() == "T" || yDisplacementTextBox.Text.ToUpper() == "U" ||
yDisplacementTextBox.Text.ToUpper() == "V" || yDisplacementTextBox.Text.ToUpper() == "W" || yDisplacementTextBox.Text.ToUpper() == "X" ||
yDisplacementTextBox.Text.ToUpper() == "Y" || yDisplacementTextBox.Text.ToUpper() == "Z")
{
MessageBox.Show("Please enter a numeric value for the Y Displacement.", "Y Displacement: Numbers Only Error",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
反正有這麼按壓時,所有的鍵盤(除了數字和期限上的按鈕鍵)不登記(或禁用)的實際密鑰的值和輸入什麼都沒有?
作爲第一個建議,你的邏輯就會簡單得多找你想允許的字母,而忽略(或提示)任何ISN」 t'0-9'或'.'。 –
看看[在這篇文章](http://stackoverflow.com/questions/6721274/how-can-i-create-a-textbox-which-only-accepts-certain-integer-values/6721300#6721300) 。 希望它有幫助。 –
這是winforms還是wpf?您應該刪除'input'標籤,然後添加其中一個標籤。 –