在两种forms上使用和实例化一个类

我正在努力解决以下问题。 我目前有三种forms,我的主要和一个主要类。

public partial class frmMain : Form { public frmMain() { InitializeComponent(); } } public partial class frmSuppliers : Form { public frmSuppliers() { InitializeComponent(); } } public partial class frmCustomers : Form { public frmCustomers() { InitializeComponent(); } } 

在我的主程序中,我有:

  public class Program { public StockControl StockSystem = new StockControl("The Book Shop", 20); } 

我希望能够在frmSuppliers和frmMain中访问StockControl中的方法。

我知道这可能是一个N00b问题 – 但它一直困扰着我!

您需要将其作为构造函数参数传递给其他表单,然后将其存储在私有字段中。

声明它是静态的

 public static StockControl StockSystem = new StockControl("The Book Shop", 20); 

并用作

 Program.StockSystem 

您应该为每个表单添加一个类型为StockControl的字段,并将其公开,或者为其添加getter / setter。 这意味着为每个表单添加以下行:

 private StockControl _stockCtrl; public StockControl StockCtrl { get { return _stockCtrl; } set { _stockCtrl = value; } } 

在每个表单的鳕鱼中,您可以访问您的StockControl。 但如果你不给它一些东西,它将是空的(即null)。 这是我在打开表单之前要做的事情。 如果您使用的是主要方法:

 frmSuppliers frmToOpen = new frmSuppliers(); frmSuppliers.StockCtrl = StockSystem; frmSuppliers.Show();