我有一個窗體有多個文本框,我想通過文本框循環查看它們是否包含null或空白。如果他們這樣做,我想要返回一個布爾值。檢查所有文本框的不包含空白/空值
的錯誤,我得到: {「無法投型‘System.Windows.Forms.Button’的對象鍵入‘System.Windows.Forms.TextBox’。」} {「無法投 對象類型的 'System.Windows.Forms.Button' 鍵入 'System.Windows.Forms.TextBox'「}
我的代碼:
private bool EmptyTextBox()
{
//returns false if all the text boxs contain strings otherwise it will set the messagebox then return true
/*if (!Controls.Cast<TextBox>().Any(textBox => String.IsNullOrWhiteSpace(textBox.Text))) return false;
MessageBox.Show("Please do not leave a textbox blank.");*/
foreach (TextBox textBox in this.Controls)
{
if (string.IsNullOrWhiteSpace(textBox.Text))
{
MessageBox.Show("Please do not leave a textbox blank.");
return false;
}
}
return true;
}
我想知道我是什麼做錯了,我該如何解決這個問題,謝謝你。
您應該檢查控件是否爲文本框類型。 – 2015-02-23 06:23:47
@FrebinFrancis在設計師的「工具箱」中,我選擇了文本框供用戶輸入文本。我手動更改了所有文本框的名稱,所以我相當確定它們是文本框的類型,因爲它們最初都是名稱文本框*編號*。感謝您的答覆。 – 2015-02-23 06:26:30
當你得到this.Controls時,from中的所有控件都會在foreach循環中迭代。應該避免使用this.Controls.OfType()而不是this.controls。 –
2015-02-23 06:28:43