2017-02-10 196 views
-1

如何我可以從兩個textBoxesradioButton(有兩種,但只有一個可以被選中)到listbox如果你perfomed上點擊一個按鈕添加項目?將項目添加到Windows列表框窗體應用程序,

這是我的代碼:

  listBox1.Items.Clear(); 
      for (int i = 1; i < listBox1.Items.Count; i++) 
      { 
       if (textBox1.Text == listBox1.Items[i].ToString()) 
       { 
        equal1 = true; 
       } 
       else 
       { 
        equal1 = false; 
        break; 
       } 

      } 
      if (equal1 == false) 
      { 
       listBox1.Items.Add(textBox1.Text); 
      } 
      for (int i = 1; i < listBox1.Items.Count; i++) 
      { 
       if (textBox2.Text == listBox1.Items[i].ToString()) 
       { 
        equal2 = true; 
       } 
       else 
       { 
        equal2 = false; 
        break; 
       } 
      } 
      if (equal2 == false) 
      { 
       listBox1.Items.Add(textBox2.Text); 
      } 
      if (radioButton1.Checked == true) 
     { 
      listBox1.Items.Add("Male"); 
     } 
     else if (radioButton2.Checked == true)  
     { 
      listBox1.Items.Add("Female"); 
     } 

我想用,因爲這兩者之間沒有空格我所得到的添加這些項目:

enter image description here

回答

1

嗯,它看起來像你首先添加名稱TextBox中的值,然後添加出生日期TextBox中的值。由於出生日期在這裏是空的,你將在ListBox上得到一個空字符串(因此是一個空行)。

如果你不想空值增加,你在調用Add方法之前,應檢查爲他們做:

if (equal2 == false && !string.IsNullOrEmpty(textBox2.Text) 
{ 
    listBox1.Items.Add(textBox2.Text); 
} 

然而,似乎你在做什麼並不很直截了當。我建議你重新思考你檢查價值和處理它們的方式。

0

從看你的屏幕,它看起來像你的出生日期文本框之一是空白或包含空格。也許這可能是問題所在?

無論如何,這個問題應該可以通過調試輕鬆解決。在每個listbox1.Items.Add函數調用中添加一個斷點,並檢查將什麼值添加到列表框中。

0

是的,這正是我所做的:) 我的代碼看起來像現在這樣:

private void button1_Click(object sender, EventArgs e) 
    { 

     listBox1.Items.Clear(); 

     if(! String.IsNullOrEmpty(textBox1.Text)) 
     { 
      listBox1.Items.Add(textBox1.Text); 
     } 
     if(! String.IsNullOrEmpty(textBox2.Text)) 
     { 
      listBox1.Items.Add(textBox2.Text); 
     } 

     if (radioButton1.Checked == true) 
     { 
      listBox1.Items.Add("Male"); 
     } 
     else if (radioButton2.Checked == true) 

     { 
      listBox1.Items.Add("Female"); 
     } 


    } 
相關問題