将项目添加到Windows列表框窗体应用程序,
问题描述:
如何我可以从两个textBoxes
和radioButton
(有两种,但只有一个可以被选中)到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");
}
我想用,因为这两者之间没有空格我所得到的添加这些项目:
答
嗯,它看起来像你首先添加名称TextBox中的值,然后添加出生日期TextBox中的值。由于出生日期在这里是空的,你将在ListBox上得到一个空字符串(因此是一个空行)。
如果你不想空值增加,你在调用Add方法之前,应检查为他们做:
if (equal2 == false && !string.IsNullOrEmpty(textBox2.Text)
{
listBox1.Items.Add(textBox2.Text);
}
然而,似乎你在做什么并不很直截了当。我建议你重新思考你检查价值和处理它们的方式。
答
从看你的屏幕,它看起来像你的出生日期文本框之一是空白或包含空格。也许这可能是问题所在?
无论如何,这个问题应该可以通过调试轻松解决。在每个listbox1.Items.Add函数调用中添加一个断点,并检查将什么值添加到列表框中。
答
是的,这正是我所做的:) 我的代码看起来像现在这样:
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");
}
}