2016-01-14 75 views
-2

所以我正在構建我的第一個應用程序,並且我想讓它使得使用該應用程序的人無法將文本放在任何文本框中。此外,我想將一些內置的障礙,以便當他們沒有任何東西在TextBox的時候程序不會崩潰。C# - 文本框問題

請幫忙!非常感激!

下面是一張圖片。

What my application currently looks like.

+0

使用不同的控件,如數字上下控件。 –

+0

呃。改用標籤。 –

+0

@HansPassant他希望他們輸入數字,但不是文本標籤不會工作。 – ivan

回答

0

你應該提上TextChanged事件的處理程序,併爲它輸入解析數據。

textbox1.TextChanged += ValidateInput; 
textbox2.TextChanged += ValidateInput; 
textbox3.TextChanged += ValidateInput; 

... 

private void ValidateInput(object sender, EventArgs args) 
{ 
    bool valid = true; 

    foreach(var textbox in new [] { textBox1, textBox2, textBox3}) 
    { 
     double value; 
     if (!double.TryParse(textbox.Text, out value)) 
     { 
      textBox.Color = Color.Red; 
      valid = false; 
     } 
     else 
      textBox.Color = Color.Black; 
    } 

    buttonCalculate.Enabled = valid; 
} 
+0

對不起,我還是這個新手。你能解釋我替換了「ValidateInput」嗎?用?我將textbox1,2,3作爲示例理解,但我應該如何替代validateinput? – Nelsencaleb

+0

@Nelsencaleb你不會替換'ValidateInput'。這是一個標準的事件處理程序。你可以隨意命名,但是,像NumericOnlyTextBox_TextChanged等等。 –