添加列表框项和值,以不同的标签显示(不同的形式之间)。

问题描述 投票:0回答:1

我想将表单2中的项目和值添加到表单3的列表框中,并在表单3的标签中相应显示。表格2加值表格3在菜单和列表框中显示相应的值。 我可以添加一个项目,如产品名称,但我也想添加其他方面,如价格。所以当我点击表格3中的listbox时,它应该只显示名称,但在标签中应该显示价格方面。

表格2

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();

    }

    private void button2_Click(object sender, EventArgs e)
    {

        string getItem = NameTextBox1.Text;
        int getItem2 = Int32.Parse(PriceTxtBox2.Text);
        var f = new Form3(getItem, getItem2);
        f.Show();
    }

表格3.我想把表格2中的项目和值添加到表格3的列表框中,并在表格3的标签中显示出来。

 public partial class Form3 : Form
{
    public Form3()
    {

    }
    public struct Menu1
    {
        public string foodname;
        public int foodprice;
    }

    public Form3(string title, int txt)
    {
        InitializeComponent();
        List<Menu1> menulist = new List<Menu1>();
        menulist.Add(new Menu1
        {
            foodname = title,
            foodprice = txt
        });


        foreach (Menu1 details in menulist)
        {
            listBox1.Items.Add(String.Format(details.foodname));
            listBox1.Items.Add(details.foodprice);

        }
    }
    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        label4.Text = listBox1.SelectedItem.ToString();
        label5.Text = listBox1.SelectedItem.ToString();

    }
}
c# winforms listbox listboxitem
1个回答
0
投票

看来你并没有连接到数据库,强烈建议你这样做。

但是按照你想要的方式,我想你可以选择

  1. 将你的列表框改为列表视图或数据网格视图,可以有多列,然后将你的其他细节,如价格和类别放在这些列中,然后将其隐藏,只留下第一列的产品名称对用户可见,然后你可以在你的代码中检索隐藏列中的文本,以显示在标签中。
  2. 将你的列表项目以List、多维数组等形式(?)放在一个公共静态类中(它对所有人都是可访问的,并且可以跟踪你从表单2中添加的所有项目--虽然只是在运行时,不像数据库),然后在你的表单3中访问它来填充你的列表框,并获取其他信息,如列表中的价格和类别,如;获取当前选择的项目的索引,然后将其作为索引来访问静态类中的列表。
© www.soinside.com 2019 - 2024. All rights reserved.