Using and instance of a class on two forms

前端 未结 3 1207
野的像风
野的像风 2021-01-23 21:24

I am struggling to get my head around the following. I current have three forms, my main and one main class.

public partial class frmMain : Form
{
    public frm         


        
相关标签:
3条回答
  • 2021-01-23 22:01

    You should add a field of type StockControl to each of your forms, and make it public, or add getter/setter to it. This means adding the following lines to each one of your forms:

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

    The in the cod of each form you can access your StockControl. But it will be empty (i.e. null) if you don't assign it something. This is something I'd do before opening the form. If you are in your main method:

    frmSuppliers frmToOpen = new frmSuppliers();
    frmSuppliers.StockCtrl = StockSystem;
    frmSuppliers.Show();
    
    0 讨论(0)
  • 2021-01-23 22:03

    You need to pass it to the other forms as a constructor parameter, then store it in a private field.

    0 讨论(0)
  • 2021-01-23 22:18

    declare it static

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

    and use as

    Program.StockSystem 
    
    0 讨论(0)
提交回复
热议问题