`我想将列表框从一种形式链接到不同的其他形式。例如,如果我要从另一个表单添加项目,则所选项目将在我的其他表单中显示。有没有办法做到这一点?
private void pb_hd1_Click(object sender, EventArgs e)
{
int index = hm_drinks.FindIndex(drinks => drinks.Name.Equals(hd1.Text));
pendinglist.Items.Add("1 \t" + hm_drinks[index].Name.PadLeft(20) + hm_drinks[index].Price.ToString("C").PadLeft(70));
order.Equals(pendinglist.Items);
total += hm_drinks[index].Price;
}
这是将项目添加到列表框的内容,但该项目仅显示在此表单的列表框中。我希望以其他形式展示我目前的问题。
答案 0 :(得分:1)
您可以将其存储在singleton对象的变量中,并从表单到表单读取该值。
以下示例
Singleton类:
public class MySingletonClass
{
private static MySingletonClass _instance;
/// <summary>
/// Get the singleton instance.
/// </summary>
public static MySingletonClass Instance
{
get
{
if (_instance == null)
{
_instance = new MySingletonClass();
}
return _instance;
}
}
/// <summary>
/// Property to be shared across application.
/// </summary>
public string MySharedProperty { get; set; }
// Private default constructor
private MySingletonClass() { }
}
表单1,其中包含一个文本框,然后是一个用于打开表单的按钮2.按钮单击事件将文本框值保存到单例。:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void _openFormTwoButton_Click(object sender, EventArgs e)
{
MySingletonClass.Instance.MySharedProperty = textBox1.Text;
Form2 form2 = new Form2();
form2.Show();
}
}
表单2,其中包含文本框。它从单例实例加载值:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
textBox1.Text = MySingletonClass.Instance.MySharedProperty;
}
}