c# - 添加以不同标签显示的列表框项目和值(在不同表单之间)
问题描述
我想将表单 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();
}
}
解决方案
好像您没有连接到数据库,强烈建议您这样做。
但是按照你想要的方式,我想你可以
- 将您的列表框更改为可以有多个列的列表视图或数据网格视图,然后将您的其他详细信息(例如价格和类别)放在这些列中,然后将其隐藏,只留下产品名称对您的用户可见的第一列,然后您可以只检索代码中隐藏列中的文本以显示在标签中。
- 将您的列表项以列表的形式、多维数组等(?)放在公共静态类中(所有人都可以访问,并且可以跟踪您从表单 2 中添加的所有项目 - 尽管仅在运行时与数据库不同)然后在您的表格 3 中访问它以填写您的列表框并获取列表中的其他信息,例如价格和类别;获取当前选定项目的索引,然后将其用作索引来访问静态类中的列表。
推荐阅读
- php - 根据其中一个表中的值从多个表中获取 SQL 结果
- angular - Angular NGRX RXJS - 订阅其他可观察的内部效果不起作用
- nuget - 将整个解决方案打包成一个 nupkg?
- c# - 字符串定义中的条件
- react-native - 如何在 React Native 中使用 NativeModules 将图像设置为适合主屏幕的主屏幕壁纸
- azure-devops - 在队列中运行不同的发布管道
- sql - SQL Server 根据列的总和获取随机行
- opencv - 使用 VLC 接收 OpenCV GStreamer UDP 流
- python - del on field from vars(instance) 从对象中删除属性
- cassandra - 添加新节点后连接到 cassandra 集群