在两种形式的使用和实例类的(Using and instance of a class on two

2019-08-01 12:55发布

我努力让我的头围绕以下。 我目前有三种形式,我的主要和一个主类。

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 - 但它的被窃听我一整天!

Answer 1:

你需要将它传递给其他形式的构造函数的参数,然后将其存储在私有字段。



Answer 2:

对它做静态声明

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

并且使用

Program.StockSystem 


Answer 3:

你应该类型StockControl的字段添加到您的每一个表格,并予以公布,或的getter / setter添加到它。 这意味着,添加以下行到您的形式每一个:

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

在每个的鳕鱼形成可以访问你的StockControl。 但是,这将是空的(即空),如果你不给它分配的东西。 这是我想打开表单之前做。 如果你在你的主要方法:

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


文章来源: Using and instance of a class on two forms
标签: c# winforms oop