2017-12-05 5 views
-1

私のプログラムにはいくつかのクラスがあり、Windowsフォームを使用してさまざまなクラスからオブジェクトを作成し、それらを異なるリストボックスにリストしています。リストボックスにリストされたオブジェクトのパラメータにアクセスするC#

今私はすべてのリストボックス(フォーム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 

グランプリは、私のクラスがvoiture

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

からゲッターであるしかし、それは可能ではないようです。これは可能ですか?あれば、どうですか?

事前のおかげで、

ジェレミー

+0

ListBoxのすべての項目を反復処理するには、 'ListBox.Items'を使用します。 SelectedItemだけが必要な場合は、 'ListBox.SelectedItem'プロパティを使います。また、プロパティを 'Voiture'にキャストしてプロパティにアクセスする必要があります。 – Agalo

+0

あなたの答えをありがとう。 あなたの答えをもう少し詳しく説明してもらえますか、私はVoitureへの財産をキャストすることで何を意味するのか分かりません。 ありがとう – Jeremy

+0

'var selectedItem = list_voiture.SelectedItem as Voiture' – Agalo

答えて

1

オブジェクトの種類は、Voiture、あなたはその型にオブジェクトをキャストすることができている場合:

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

またはIN 1行:

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

あなたの答えをありがとう。私はフォームに新しいので、まだ少し混乱しています。 フォームにボタンを追加しました。そのボタンをクリックすると、車の価格(Prix)をLabel1に書き込む必要があります。 'private void button1_Click_1(オブジェクト送信者、EventArgs e) { double prix =((Voiture)list_voiture.SelectedItem).Prix; label1.Text = prix.ToString(); } ' しかし、動作しません。ボタンをクリックしても何も起こっていません。私は間違って何をしていますか? – Jeremy

+0

それは働いた:)私は私のボタンにメソッドをリンクするのを忘れていた...情報をありがとう! – Jeremy

関連する問題