【发布时间】:2019-08-18 11:30:47
【问题描述】:
我正在使用 C# Winforms 开展一个学校项目,我必须创建一个车辆销售发票并打开一个新表单,其中包含从组合框中选择的车辆信息。如何根据组合框中的 SelectedItem 获取 Vehicle 对象或其属性?
Vehicle 对象位于一个列表中,该列表绑定到绑定到组合框的 BindingSource。 我能够将静态字符串传递给此分配的另一个组件中的新表单,但我不知道如何检索对象信息。
绑定到组合框的车辆列表。 DataRetriever 是为我们提供 Vehicle 对象的类。它们具有自动实现的属性(品牌、型号、ID、颜色等)
List<Vehicle> vehicles = DataRetriever.GetVehicles();
BindingSource vehiclesBindingSource = new BindingSource();
vehiclesBindingSource.DataSource = vehicles;
this.cboVehicle.DataSource = vehiclesBindingSource;
this.cboVehicle.DisplayMember = "stockID";
this.cboVehicle.ValueMember = "basePrice";
我希望能够将信息传递到此表单并显示有关带有标签的所选车辆的信息。
private void vehicleInformationToolStripMenuItem_Click(object sender, EventArgs e)
{
VehicleInformation vehicleInformation = new VehicleInformation();
vehicleInformation.Show();
}
【问题讨论】:
-
然后将您想要的对象传递给该表单。最好使用自定义构造函数:
public VehicalInformation(Vehicle vehicle) {...} -
或添加(到
VehicleInformation表单)接受Vehicle类型参数的公共属性或方法。您可以在显示之前设置它。或者之后,如你所愿。
标签: c# winforms data-binding combobox