我正在使用C#,Windows窗體應用程序。測試填充文本框和正確的數據類型
我有6個文本框接受用戶輸入。當點擊「提交」按鈕時,它將數值存儲在一個數組中。我想創建一些東西來檢查文本框的兩件事情1.)文本框中有東西,並且2.)信息只是一個數字,沒有別的。
我被告知try catch循環將能夠做到這一點,但我還沒有弄清楚如何。
感謝您的幫助,您可以提供
我正在使用C#,Windows窗體應用程序。測試填充文本框和正確的數據類型
我有6個文本框接受用戶輸入。當點擊「提交」按鈕時,它將數值存儲在一個數組中。我想創建一些東西來檢查文本框的兩件事情1.)文本框中有東西,並且2.)信息只是一個數字,沒有別的。
我被告知try catch循環將能夠做到這一點,但我還沒有弄清楚如何。
感謝您的幫助,您可以提供
// In button_click event or somewhere like that
if (!this.CheckInput(txt_TextBox1))
return;
if (!this.CheckInput(txt_TextBox2))
return;
if (!this.CheckInput(txt_TextBox3))
return;
// Everything OK, do something
隨後的方法是這樣的:
private bool CheckInput(TextBox textbox) {
int test;
if (!int.TryParse(textbox.Text.Trim(), out test)) {
MessageBox.Show("Invalid input");
return false;
}
return true;
}
要檢查,如果事情是你可以調用string.IsNullOrEmpty法文本框。
至於檢查文本框是否只包含數字值,您可能需要考慮preventing users from entering non-numeric values。這將是一種更加用戶友好的方法,而不是在輸入值後防止它。
您不希望爲此使用try catch塊 - 您不應該爲標準應用程序流使用異常,因爲它是一個相對昂貴的選項。
檢查,如果它是空的
string.IsNullOrEmpty(textbox1.Text);
檢查,如果它是一個數字
int result;
int.TryParse(textbox1.Text), out result);
您可以使用isNullOrEmtpy如巴斯上述建議,以檢查是否有任何用戶輸入。 對於數字只,我建議你使用正則表達式。您可以找到解決方案here