2013-11-24 68 views
0

比方說,我有一個文本框和一個按鈕,我怎樣才能使該按鈕轉換爲沒有結果(或沒有輸入文本框)結果0?如何使 - 如果沒有結果,結果= 0 C#

private void button1_Click(object sender, EventArgs e) 
    { 
     if (this.dateTimePicker1.Text != "") 
     { 
      listBox1.Items.Add(this.dateTimePicker1.Text); 
     } 
     textBox2.Text += " Woman"; 
     if (this.textBox2.Text != "") 
     { 
      listBox1.Items.Add(this.textBox2.Text); 
     } 
     textBox3.Text += " People"; 
     if (this.textBox3.Text != "") 
     { 
      listBox1.Items.Add(this.textBox3.Text); 
     } 
    } 

如果沒有什麼在TextBox2中或textBox3進入其轉換結果爲「女人」或「人」,但我希望它是「0女人」 &「0人」 - 如果沒有在文本框中輸入。 任何人都可以幫我嗎?

回答

0

添加的if-else檢查,如果文本框中的文本爲空,然後更改文本決絕,而不是追加文本到現有文本。像這樣

if (textBox2.Text == "" && textBox3.Text == "") 
{ 
    textBox2.Text = "0"; 
    textBox3.Text = "0"; 
} 
0

只添加的功能最後一行之前之後,爲了使什麼到textBox

textBox2.Text = ""; 
textBox3.Text = ""; 
1

這是我幹做的事(不要重複自己)

// Make a list of textboxes and string 
List<Tuple<TextBox, String>> textBoxesTest = new List<Tuple<TextBox, String>>(); 

// Add the information 
textBoxesTest.Add(new Tuple<TextBox, String>(textBox2, "Woman")); 
textBoxesTest.Add(new Tuple<TextBox, String>(textBox3, "People")); 

// Go through the list 
foreach(var tuple in textBoxesTest) { 
    // tuple.Item1 is a TextBox 
    // tuple.Item2 is a String 

    if(String.IsNullOrEmpty(tuple.Item1.Text)) { 
     tuple.Item1.Text = String.Format("0 {0}", tuple.Item2); 
    } // if end 
    else { /* do some other with it */ } 
} // foreach end 

不測試字符串emptyness與str == ""。使用String.IsNullOrEmpty(str)方法來檢查這種情況。這是更快,因爲str == ""將創建一個新的字符串引用「」。空或空的條件是value == null || value.Length == 0;,它不會創建字符串的實例。

也不使用字符串連接,因爲每個將被寫入RAM,然後每次使用它時需要連接。最好使用String.Format(str, args[])方法。

上面的代碼在可維護性方面很好。在添加另一個文本框「執行相同操作」時,您只需要將元組添加到列表中,而不是通過複製/粘貼代碼來添加if/else算法。這將是一個常見的錯誤來源。

0

你非常接近!測試textBox2和textBox3的內容,然後再附加額外文本:

if (textBox2.Text == "") 
{ 
    textBox2.Text = "0"; 
} 
textBox2.Text += " Woman"; 
0

這種情況有兩種可能性。

  1. 要在文本框(前端)上處理此問題,請確保空字符串不會過去。如果用戶沒有在文本框中輸入任何內容,則應將0設置爲該文本框的默認值或佔位符。所以如果用戶沒有輸入任何內容,默認值(在這種情況下爲0)仍然會被傳遞。
  2. 另一種選擇是在處理函數上處理它。只需檢查文本框的值是否爲空,然後將其設置爲0.