2017-12-05 24 views
-1

내 프로그램에 여러 개의 클래스가 있으며 Windows Form을 사용하여 여러 클래스의 개체를 만들고 서로 다른 목록 상자에 나열합니다.목록 상자에 나열된 개체의 매개 변수에 액세스 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; } 
    } 

에서 게터이다 그러나 그것은 가능하지 않는 것 같습니다. 이것이 가능한가요, 그렇다면 어떻게?

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

또는 : 개체의 유형은 Voiture는 다음 해당 유형에 개체를 캐스팅 할 경우 사전에

감사합니다,

제레미

+0

'ListBox.Items'를 사용하여 ListBox의 모든 항목을 반복합니다. SelectedItem 만 필요하면'ListBox.SelectedItem' 속성을 사용하십시오. 또한 'Voiture'에 속성을 캐스팅 한 다음 속성에 액세스해야합니다. – Agalo

+0

안녕하세요. 답변 해 주셔서 감사합니다. 좀 더 자세히 설명해 주시겠습니까? Voiture에 재산을 던지면 무슨 뜻인지 알 수 없습니다. 감사합니다. – Jeremy

+0

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

답변

1

한 줄 :

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

답해 주셔서 감사합니다. 나는 형식에 익숙하지 않고 약간 혼란 스럽습니다. 폼에 버튼을 추가했습니다. 버튼을 클릭하면 Label1에 자동차 가격 (Prix)을 써야합니다. '개인 무효 button1_Click_1 (개체 발신자, EventArgs e) { double prix = ((Voiture) list_voiture.SelectedItem) .Prix; label1.Text = prix.ToString(); } ' 하지만 작동하지 않습니다. 버튼을 클릭해도 아무런 변화가 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – Jeremy

+0

그것은 결코 작동하지 않았다 :) 나는 나의 단추에 방법을 연결하는 것을 잊었다 ... 정보를위한 감사합니다! – Jeremy