0

Value と text の 2 つの props を持つ ComboBoxitem という独自のクラスを作成しました。

public class ComboBoxItem
{
    public string Value;

    public string Text;

    public ComboBoxItem(string val, string text)
    {

        Value = val;

        Text = text;
    }
    public override string ToString()
    {
        return Text;
    }

}

今、毎回値とテキストをコンボボックスアイテムに追加したい

このようなもの:

public ComboBoxItem busstops;

        private void Form1_Load(object sender, EventArgs e)
        {
            lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics";

            busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics");
            busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker ");

        /*    comboBox1.Items.Add(new ComboBoxItem ("410000015503", "New Bridge Street-St Dominics"));
            comboBox1.Items.Add(new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "));*/


            comboBox1.Items.Add(busstops);
        }

しかし、問題は最後の項目だけが追加されることです (私は常に new ComboboxItem と言うので正常です) が、彼が常に新しいコンボボックス項目を追加できるコードをどのように変更できますか?

ありがとう!

4

5 に答える 5

1

両方の ComboBox 項目は異なるオブジェクトであるため、それらを格納するには 2 つの ComboBox 変数が必要です。

 busstops1 = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics");
 busstops2 = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker ");


 comboBox1.Items.Add(busstops1);
 comboBox1.Items.Add(busstops2);
于 2013-03-27T17:00:01.473 に答える
0

ComboBoxItems のリストを作成し、リストに項目を追加して、comboBox1 の DataSource をリストに設定します。

    List<ComboBoxItem> Items = new List<ComboBoxItem>();
    comboBox1.DataSource = Items;
于 2013-03-27T17:01:43.280 に答える
0
    private void Form1_Load(object sender, EventArgs e)
    {
        lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics";

        busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics");
        comboBox1.Items.Add(busstops);//add this line here

        busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker ");
        comboBox1.Items.Add(busstops);//and again here
    }

同じ値を追加しているため、値が変更されるたびにその値を追加する必要があります。を宣言newすることで、実際には古い値を置き換えて上書きしています。

于 2013-03-27T17:02:05.483 に答える
0

インスタンス comboBox1.Itemsを更新するたびに追加します。busstops

        private void Form1_Load(object sender, EventArgs e)
        {
            lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics";

            busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics");
            comboBox1.Items.Add(busstops);

            busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker ");
            comboBox1.Items.Add(busstops);
        }
于 2013-03-27T17:01:02.890 に答える
0

各割り当ての後に追加することを想定しています。

        busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics");

        comboBox1.Items.Add(busstops); // Add this line

        busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker ");
        comboBox1.Items.Add(busstops);
于 2013-03-27T17:01:07.663 に答える