使用c# - WinForms,.net Framework 4.5,VS 2012
尝试使用某个实体创建小型应用。 我为我的实体创建了单独的类,并在其中放入了一些简单的代码:
public class Car
{
public string Color {get; set;}
public string Make { get; set; }
public string CarModel { get; set; }
}
然后从主窗体我创建一些类Car
的样本(创建可以通过点击主窗体中的按钮,点击新窗体后打开3个文本框,如果输入信息并点击按钮确认 - 必须创建新的Car
样本并将其返回到主窗体。)
为此,我尝试使用下一个代码:
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();
}
要将数据从新表单移动到主表单,我使用公共字段public Car myCar = new Car();
,但由于使用public
字段,这不是最好的方法。
我找到的另一种方式 - 在主窗体中创建下一个方法
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);
}
和按钮可以使用如下方法:
private void buttonAdd_Click(object sender, EventArgs e)
{
MainForm.myCar(textBoxColor.Text,
textBoxMake.Text,
textBoxModel.Text);
MessageBox.Show("Added");
this.Close();
}
但是认为varian也不是最好和最喜欢的。
问题:将创建的实体(在本例中为Car
的实体,表示为myCar
)从一种形式移动到另一种形式的最佳方法是什么?
答案 0 :(得分:2)
对于这种GUI应用程序,我建议你遵循MVC或MVP模式。类汽车是模型,Windows窗体是视图,视图不包含模型的实例,视图通过控制器或演示者更新。
您可以找到有关MVC / MVP here
的更多详细信息