具有唯一变量的WinForms多实例表单

本文关键字:实例 表单 WinForms 唯一 变量 | 更新日期: 2023-09-27 18:07:11

初学c#;我是一个VB。NET/VBA开发人员。我目前正在为我们的非现场工人申请。我有一个主交换机的形式与项目编号下拉。然后,用户可以打开各种基于表单的工具,包括预算表单。在更改下拉菜单时,我存储一个程序作用域的类变量cJob,它具有多个属性(客户、位置等)。关于打开预算表格:

Form frm = new FieldBudgets.frmBudgets().Show();

我有一个cJob的私有静态实例meJob (new cJob)。当返回总机时,用户无需关闭该预算的实例,就可以打开同一预算表单的其他实例,其中选择了不同的项目编号。

这是我的问题(抱歉花了这么长时间才到这里):Refresh按钮可以更新预算表单上的数据,但是将上一个实例中的新meJob信息传递到另一个实例。我怎样才能把它们分开呢?我认为新的meJob会坚持使用单个实例。

作为题外话,我确实有一个不那么光鲜的"解决方案",涉及隐藏文本框并在刷新时重新加载新的meJob。如果这是我能得到的最好的解决方案,那就这样吧……

MJ

具有唯一变量的WinForms多实例表单

Dictionary<string,FieldBudgets.frmBudgets> myBudgets = new Dictionary<string,FieldBudgets.frmBudgets>();
myBudgets.Add("Budget1",New FieldBudgets.frmBudgets());
myBudgets.Add("Budget2",New FieldBudgets.frmBudgets());
myBudgets.Add("Budget3",New FieldBudgets.frmBudgets());
myBudgets.Add("Budget4",New FieldBudgets.frmBudgets());
myBudgets["Budget2"].Show();

你可以在构造函数中放置任何唯一的字段和/或属性。