不同windows窗体中类的C#对象
如果我运行我的项目,我将获得以下窗口: 然后我按下按钮“自动hinzufügen”=添加汽车。下面是方法的代码:不同windows窗体中类的C#对象,c#,winforms,C#,Winforms,如果我运行我的项目,我将获得以下窗口: 然后我按下按钮“自动hinzufügen”=添加汽车。下面是方法的代码: private void button1_Click(object sender, EventArgs e) { addCarcs window = new addCarcs(); window.Show(); } 现在,第二个窗口打开: 我填写这两个字段,然后按下按钮“自动hinzufügen”=添加汽车。 然后我创建了一个类car的新对象。代码如下: pri
private void button1_Click(object sender, EventArgs e)
{
addCarcs window = new addCarcs();
window.Show();
}
现在,第二个窗口打开:
我填写这两个字段,然后按下按钮“自动hinzufügen”=添加汽车。
然后我创建了一个类car的新对象。代码如下:
private void button1_Click(object sender, EventArgs e)
{
if((kennzeichen.Text != "") && (automarke.Text != ""))
{
car myCar = new car();
myCar.addCar(kennzeichen.Text, automarke.Text);
this.Close();
}
}
以下是汽车类的代码:
class car
{
public car()
{
this.carMark = "";
this.carMark = "";
}
public void addCar(string carMark, string carBrand)
{
this.carMark = carMark;
this.carBrand = carBrand;
carNumber++;
}
public string showCar()
{
return string.Format(
"Automarke: {0} --- Autokennzeichen {1}", this.carBrand, this.carMark);
}
private string carMark;
private string carBrand;
static int carNumber;
}
private void button1_Click(object sender, EventArgs e)
{
addCarcs window = new addCarcs();
DialogResult dResult = window.ShowDialog();
if (dResult == System.Windows.Forms.DialogResult.OK)
{
latestAddedCar = window.addedCar;
}
}
private void showCar_Click(object sender, EventArgs e)
{
if(latestAddedCar != null)
latestAddedCar.showCar();
}
现在我又来到主窗口:
现在,我按下第二个按钮auto=show car。我想显示添加的汽车,但如果我用button方法编写此代码:
private void showCar_Click(object sender, EventArgs e)
{
myCar.showCar();
}
我得到一个错误:
如何在不同窗体之间发送创建的类对象?您需要在类级别创建属性
Car MyCar{get;set;}'。在构造函数中设置其值,如
MyCar=new Car(),并在需要Car对象的任何地方访问
MyCar`。您应该在类中创建一个成员Car,“创建”两个窗口,以便打开的两个窗体都“识别”成员Car,并可以访问其数据
您可以在此处找到更多信息:
在这里:
嗯,您需要执行以下操作: 将名为addedCar的属性添加到addCarcs类:
public class addCarcs : Form
{
public car addedCar { set; get; }
}
将名为lateStatedCar的属性添加到Form1类:
public class Form1 : Form
{
public car latestAddedCar { set; get; }
}
将添加逻辑更改为显示对话框:
class car
{
public car()
{
this.carMark = "";
this.carMark = "";
}
public void addCar(string carMark, string carBrand)
{
this.carMark = carMark;
this.carBrand = carBrand;
carNumber++;
}
public string showCar()
{
return string.Format(
"Automarke: {0} --- Autokennzeichen {1}", this.carBrand, this.carMark);
}
private string carMark;
private string carBrand;
static int carNumber;
}
private void button1_Click(object sender, EventArgs e)
{
addCarcs window = new addCarcs();
DialogResult dResult = window.ShowDialog();
if (dResult == System.Windows.Forms.DialogResult.OK)
{
latestAddedCar = window.addedCar;
}
}
private void showCar_Click(object sender, EventArgs e)
{
if(latestAddedCar != null)
latestAddedCar.showCar();
}
将数据输入提交逻辑更改为:
private void button2_Click(object sender, EventArgs e)
{
if ((kennzeichen.Text != "") && (automarke.Text != ""))
{
car myCar = new car();
myCar.addCar(kennzeichen.Text, automarke.Text);
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
最后,从主类Form1访问新添加的属性:
class car
{
public car()
{
this.carMark = "";
this.carMark = "";
}
public void addCar(string carMark, string carBrand)
{
this.carMark = carMark;
this.carBrand = carBrand;
carNumber++;
}
public string showCar()
{
return string.Format(
"Automarke: {0} --- Autokennzeichen {1}", this.carBrand, this.carMark);
}
private string carMark;
private string carBrand;
static int carNumber;
}
private void button1_Click(object sender, EventArgs e)
{
addCarcs window = new addCarcs();
DialogResult dResult = window.ShowDialog();
if (dResult == System.Windows.Forms.DialogResult.OK)
{
latestAddedCar = window.addedCar;
}
}
private void showCar_Click(object sender, EventArgs e)
{
if(latestAddedCar != null)
latestAddedCar.showCar();
}
创建字段
car\u myCar
并为其赋值