0

using c# - WinForms, .net Framework 4.5, VS 2012

Try to create small app with some entity. I create separate class for my entity and put some simple code inside:

public class Car
{
    public string Color {get; set;}
    public string Make { get; set; }
    public string CarModel { get; set; }
}

Then from main form i create some specimen of class Car (creating can be geted by clicking button from main form, after clicking new form with 3 text boxes will be opened, if information entered and button Ok clicked - new Car sample must be created and returned to main form).

For this i try to use next code:

    public Car myCar = new Car();
    private void buttonAdd_Click(object sender, EventArgs e)
    {
        myCar.Color = textBoxColor.Text;
        myCar.Make = textBoxMake.Text;
        myCar.CarModel = textBoxModel.Text;
        this.DialogResult = DialogResult.OK;
        this.Close();
        MessageBox.Show("Added");
        this.Close();
    }

For moving data from new form to main form I use public field public Car myCar = new Car();, but this is not the best way to do this, due to using of public field.

Another way I found - in main form create next method

    static List<Car> carInStock = null;
    public static void myCar(string color, string make, string model)
    {
        Car myCar = new Car
        {
            Color = color,
            CarModel = model,
            Make = make
        };
        MainForm.carInStock.Add(myNewCar);
    }

and for button can use method like:

    private void buttonAdd_Click(object sender, EventArgs e)
    {
        MainForm.myCar(textBoxColor.Text,
        textBoxMake.Text,
        textBoxModel.Text);
        MessageBox.Show("Added");
        this.Close();
    }

But think varian also not hte best and prefered.

Question: What is the best way to move created entity (in this case entity of Car, represented as myCar) from one form to another?

hbk
  • 10,908
  • 11
  • 91
  • 124

1 Answers1

2

For this kind of GUI Application, I suggest you follow MVC or MVP pattern. The class car is the model, the Windows Forms are the views, the view doesn't hold an instance of the model, and the views are updated through controller or presenter.

You can find more details about MVC/MVP here

Community
  • 1
  • 1
Matt
  • 6,010
  • 25
  • 36