簡體   English   中英

listBox1_SelectedIndexChanged

[英]listBox1_SelectedIndexChanged

我想要做的是,當在 listBox1 中選擇一個項目時,listBox2 將填充可供選擇的選項。 例如,如果您在 listBox1 中選擇一件白襯衫,則 listBox2 將填充可供選擇的設計。 我已經對此進行了 100 次,從我所讀到的內容來看,它應該可以工作,但根本不起作用。 唯一有效的是 listBox1 填充了襯衫顏色。 任何幫助將大大appriciated。

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");
    }
}

}

給定的代碼工作得很好在此處輸入圖片說明 據我所知問題出在事件中,您必須復制代碼並忘記將事件添加到列表框。您甚至可以通過屬性添加到列表框

在此處輸入圖片說明

根據 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM