您好,我正在尝试将项目添加到通用列表中。然后单击按钮,通用列表项应转移到我的 listbox1。然而,这有效,每次我点击按钮时它都会不断添加它们。
我尝试使用 if 命令, 有时像这样
if (listBox1.Items.Count == 0)
{
// this contained everything I am now adding under initialize component)
}
但这产生了错误。索引值不能为0。 所以本质上这是按原样工作的。但我不想每次单击时都继续添加项目。
public Form1()
{
InitializeComponent();
list.Add("Januari");
list.Add("Februari");
list.Add("March");
list.Add("April");
list.Add("May");
list.Add("June");
list.Add("July");
list.Add("August");
list.Add("September");
list.Add("Oktober");
list.Add("November");
list.Add("December");
}
private IList<string> list = new List<string>();
private void button1_Click(object sender, EventArgs e)
{
for (int index = 0; index < list.Count; index++)
{
listBox1.Items.Add(list[index]);
}
int mnr = Convert.ToInt32(textBox1.Text);
string mnm = Convert.ToString(listBox1.Items[mnr - 1]);
textBox2.Text = mnm;
}
最佳答案
如果您不使用 IList<string> list
,这只是@Kami 答案的替代方案。任何其他地方,然后只需将项目直接添加到列表框:
public Form1()
{
InitializeComponent();
// This is only called once.
InitializeListBox();
}
private void InitializeListBox()
{
listBox1.Items.Add("Januari");
listBox1.Items.Add("Februari");
listBox1.Items.Add("March");
listBox1.Items.Add("April");
listBox1.Items.Add("May");
listBox1.Items.Add("June");
listBox1.Items.Add("July");
listBox1.Items.Add("August");
listBox1.Items.Add("September");
listBox1.Items.Add("Oktober");
listBox1.Items.Add("November");
listBox1.Items.Add("December");
}
private void button1_Click(object sender, EventArgs e)
{
int mnr = Convert.ToInt32(textBox1.Text);
string mnm = Convert.ToString(listBox1.Items[mnr - 1]);
textBox2.Text = mnm;
}
关于c# - 将通用列表项添加到 Winforms 的列表框 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798979/