我想要做的是,当在listBox1中选择一个项目时,listBox2将填充选项以供选择。例如,如果您在listBox1中选择一件白衬衫,那么listBox2将填充可供选择的设计。我已经过了100次,从我读过的它应该可以工作但它根本不工作。唯一有效的是listBox1填充衬衫颜色。任何帮助都会受到极大的关注。
using System;
using System.Windows.Forms;
namespace EmmasEmbroidery
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBox1.Items.Add("White");
listBox1.Items.Add("Black");
listBox1.Items.Add("Red");
listBox1.Items.Add("Blue");
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.Enabled = true;
listBox2.Items.Clear();
if (listBox1.SelectedItem.Equals("White"))
{
listBox2.Items.Add("Peacock");
listBox2.Items.Add("Palm Tree");
listBox2.Items.Add("Rose");
}
else if (listBox1.SelectedItem.Equals("Black"))
{
listBox2.Items.Add("Race Car");
listBox2.Items.Add("Star");
listBox2.Items.Add("Moon");
}
else if (listBox1.SelectedItem.Equals("Red"))
{
listBox2.Items.Add("Palm Tree");
listBox2.Items.Add("Moon");
}
else if (listBox1.SelectedItem.Equals("Blue"))
{
listBox2.Items.Add("eacock");
listBox2.Items.Add("Moon");
}
label3.Text = "You have selected a " + listBox1.SelectedItem.ToString() + " shift";
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.Enabled = false;
label3.Text = "You have selected a " + listBox1.SelectedItem.ToString() + " shift with a " + listBox2.SelectedItem.ToString() + " design.";
}
private void button1_Click_1(object sender, EventArgs e)
{
listBox1.Enabled = true;
listBox2.Enabled = true;
listBox1.Items.Clear();
listBox2.Items.Clear();
label3.Text = "";
listBox1.Items.Add("White");
listBox1.Items.Add("Black");
listBox1.Items.Add("Red");
listBox1.Items.Add("Blue");
}
}
}
答案 0 :(得分:1)
答案 1 :(得分:0)
使用MSDN
// Allow the ListBox to repaint and display the new items.
listBox2.EndUpdate();
https://msdn.microsoft.com/pt-br/library/system.windows.forms.listbox.items(v=vs.90).aspx