繁体   English   中英

添加以不同标签显示的列表框项目和值(在不同表单之间)

[英]adding listbox items and values showing it in different labels (between different forms)

我想将表单 2 中的项目和值添加到表单 3 列表框中,并在表单 3 标签中相应地显示它。最终产品应该看起来像这个表单 2 添加值表单 3 相应地在菜单和列表框中显示值我可以添加一个产品名称之类的项目,但我还想添加价格等其他方面。 因此,当我单击表格 3 中的列表框时,它应该只显示名称,但在标签中它应该显示价格方面。

表格 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:

 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();

    }
}

好像您没有连接到数据库,强烈建议您这样做。

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

  1. 将您的列表框更改为可以有多个列的列表视图或数据网格视图,然后将您的其他详细信息(例如价格和类别)放在这些列中,然后将其隐藏,只留下产品名称对您的用户可见的第一列,然后您可以只检索代码中隐藏列中的文本以显示在标签中。
  2. 在公共 static class 中以列表、多维数组等(?)的形式列出您的列表项(所有人都可以访问它,并且可以跟踪您从表单 2 中添加的所有项目 - 尽管与数据库不同的是仅在运行时)然后在您的表格 3 中访问它以填写您的列表框并获取列表中的其他信息,例如价格和类别; 获取当前选定项目的索引,然后将其用作索引以访问 static class 中的列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM