从列表框中列出的对象访问参数c#

时间:2017-12-05 15:15:04

标签: c# winforms class listbox listboxitem

我的程序中有几个类,我使用Windows Form从不同的类创建对象,并将它们列在不同的列表框中。

现在我有一个包含所有列表框(表单1)和另一个表单(CreerVoiture)的表单,我在其中放置所有信息以创建我选择的对象。

enter image description here

enter image description here

一个例子是我点击按钮“Voiture!”我的第二个表单打开,当我添加所有信息并按下“Ajouter”时,它将对象添加到所选的列表框中。

Form1的代码:

private void button1_Click(object sender, EventArgs e)
    {
        CreerVoiture creervoiture = new CreerVoiture();
        if (creervoiture.ShowDialog(this) == DialogResult.OK)
        {
            // Read the contents of form2's TextBox.
            Voiture voiture = new Voiture(creervoiture.GetMarque(), creervoiture.GetPrix(), creervoiture.GetConsommation(), creervoiture.GetReservoir());
            this.list_voiture.Items.Add(voiture);

            this.list_voiture.DataSource = null;
        }
        creervoiture.Dispose();
    }

我想知道的是,一旦我将其添加到列表框中,我将如何访问我在第二个表单中添加的参数。

我正在考虑使用类似的东西:

list_voiture.SelectedItem.Prix

Prix是我班级Voiture的吸气剂

public double Prix
    {
        get { return this.prix; }
        set { this.prix = value; }
    }

但这似乎不可能。这是可能的,如果是的话,怎么样?

提前致谢,

杰里米

1 个答案:

答案 0 :(得分:1)

如果对象的类型是Voiture,那么您可以将对象强制转换为该类型:

Voiture voiture = (Voiture)list_voiture.SelectedItem;
double prix = voiture.Prix;

或者在一行中:

double prix = ((Voiture)list_voiture.SelectedItem).Prix;