添加以不同标签显示的列表框项目和值(在不同表单之间)
Posted
技术标签:
【中文标题】添加以不同标签显示的列表框项目和值(在不同表单之间)【英文标题】:adding listbox items and values showing it in different labels (between different forms) 【发布时间】:2020-09-10 07:09:06 【问题描述】:我想将表单 2 中的项目和值添加到表单 3 列表框中,并在表单 3 标签中相应地显示它。最终产品应如下所示 form 2 adding the values 和 form 3 showing the value in menu and listbox accordingly 我可以添加一个项目,比如产品名称,但我也想添加其他方面,比如价格。因此,当我单击表单 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();
【问题讨论】:
使用这种方法,您最终会得到许多 Form3 实例,所有实例都只有一个条目。换个方向,Form3 有一个“添加”按钮,用于创建 Form2 的一个实例。 Form2 关闭后,从中检索信息并将其添加到列表框... 【参考方案1】:您似乎没有连接到数据库,强烈建议这样做。
但是按照你想要的方式,我想你可以
-
将您的列表框更改为可以有多个列的列表视图或数据网格视图,然后将您的其他详细信息(例如价格和类别)放在这些列中,然后将其隐藏,只留下产品名称对您的用户可见的第一列,然后您可以只检索代码中隐藏列中的文本以显示在标签中。
在公共静态类中以 List、多维数组等 (?) 的形式保存您的列表项(所有人都可以访问它,并且可以跟踪您从表单 2 中添加的所有项 - 尽管仅在运行时不像一个数据库)然后在您的表格 3 中访问它以填写您的列表框并获取列表中的其他信息,例如价格和类别;获取当前选定项的索引,然后将其用作索引以访问静态类中的列表。
【讨论】:
以上是关于添加以不同标签显示的列表框项目和值(在不同表单之间)的主要内容,如果未能解决你的问题,请参考以下文章