簡體   English   中英

將值存儲到列表框項C#

[英]Storing a value to a listbox item C#

我想知道如何將VALUE存儲到列表框中的項目。 我正在為我的學習制作工作表,我一直在想如何做到這一點。 基本上我需要存儲食物的價值(例如西蘭花,面包。例如:西蘭花的價值為20卡路里)。

用戶不能看到該值,只有程序可以存儲它。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MCAST_Calorie_Counter
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            lbAvailable.Items.Clear();
            if (comboBox1.Text == "Vegetables")
            {
                lbAvailable.Items.Add("Broccoli");
                lbAvailable.Items.Add("Carrots");
                lbAvailable.Items.Add("Lettuce");
                lbAvailable.Items.Add("Onions");
                lbAvailable.Items.Add("Potatoes");
            }

            if (comboBox1.Text == "Meat")
            {
                lbAvailable.Items.Add("Chicken");
                lbAvailable.Items.Add("Veal");
                lbAvailable.Items.Add("Beef");
                lbAvailable.Items.Add("Fish");
            }

            if (comboBox1.Text == "Legumes")
            {
                lbAvailable.Items.Add("Bread");
                lbAvailable.Items.Add("Peanuts");
                lbAvailable.Items.Add("Green Peas");
                lbAvailable.Items.Add("Lentils");
            }
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            ListBox.SelectedObjectCollection highlightedItems = lbAvailable.SelectedItems;

            foreach (var item in highlightedItems)
            {
                lbChosen.Items.Add(item);
            }
            if (lbAvailable.SelectedItems.Count > 0)
            {
                lbAvailable.Items.Remove(lbAvailable.SelectedItems[0]);
            }
        }

        private void btnRemove_Click(object sender, EventArgs e)
        {
            ListBox.SelectedObjectCollection highlightedItems = lbChosen.SelectedItems;

            foreach (var item in highlightedItems)
            {
                lbAvailable.Items.Add(item);
            }
            if (lbChosen.SelectedItems.Count > 0)
            {
                lbChosen.Items.Remove(lbChosen.SelectedItems[0]);
            }
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            lbAvailable.Items.Clear();
            lbChosen.Items.Clear();
            if (comboBox1.Text == "Vegetables")
            {
                lbAvailable.Items.Add("Broccoli");
                lbAvailable.Items.Add("Carrots");
                lbAvailable.Items.Add("Lettuce");
                lbAvailable.Items.Add("Onions");
                lbAvailable.Items.Add("Potatoes");
            }

            if (comboBox1.Text == "Meat")
            {
                lbAvailable.Items.Add("Chicken");
                lbAvailable.Items.Add("Veal");
                lbAvailable.Items.Add("Beef");
                lbAvailable.Items.Add("Fish");
            }

            if (comboBox1.Text == "Legumes")
            {
                lbAvailable.Items.Add("Bread");
                lbAvailable.Items.Add("Peanuts");
                lbAvailable.Items.Add("Green Peas");
                lbAvailable.Items.Add("Lentils");
            }
        }
    }
}

非常感謝你的幫助!

您始終可以將支持ToString()自定義對象添加到ListBox.Items集合:

struct Record
{
    int value;
    string label;

    public override string ToString()
    {
        return label;
    }
}

添加自定義對象:

Record record = new Record();
record.value = 1;
record.label = "This text will appear in the ListBox";
listBox.Items.Add(record);

檢索它:

Record selectedRecord = (Record)listBox.SelectedItem;
Console.WriteLine(selectedRecord.value); // => 1

暫無
暫無

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

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