2017-02-10 146 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"); 
     } 


    } 
相关问题