Entwickler-Ecke
WinForms - Listbox in Label ausgeben
Shadow73 - Do 06.06.19 20:27
Titel: Listbox in Label ausgeben
Hallo zusammen,
ich habe folgendes in den Windows Forms erstellt:
• Links eine Listbox mit vielen Titeln
• In der Mitte ein Label für die Produktbeschreibung
• Rechts eine Imagebox für das Produktbild
• Rechts Mitte ein Label für Zusatzinformationen
• Rechts unten den Preis
Wenn ich nun meine Listbox befüllt habe, was ich über die Items im Eigenschaftsfenster gemacht habe, möchte ich gerne, wenn ich einen Titel in meiner Listbox markiere, die Beschreibung dazu in meinem Label in der Mitte angezeigt bekommen.
Wenn ich den ersten Eintrag in meiner Listbox markiere, dann klappt das so einigermaßen. Die Beschreibung wird angezeigt, allerdings wird mir auch am Ende des Textes noch der Name ausgegeben, was ich eigentlich nicht wollte.
Wie bekomme ich das hin, dass wenn ich einen anderen Eintrag in meiner Listbox markiere, dieser Beschreibungstext angezeigt wird?
LG
Shadow73 - Fr 07.06.19 10:19
Guten Morgen,
so wie ich das hier im Label hinterlegt habe, wird mir der Produkttext ausgegeben. Ich gehe aber davon aus, dass das falsch ist. Habe gerade erst angefangen mich mit C# zu befassen.
C#-Quelltext
1: 2: 3: 4: 5:
| private void ListBoxArtikel_SelectedIndexChanged(object sender, EventArgs e) { string artikel = listBoxArtikel.SelectedItems.ToString(); lblProdukttext.Text = "Text" + listBoxArtikel.SelectedItem; } |
Ich habe im Internet schon alles abgesucht und auch in meinen Büchern steht darüber nichts. Vielleicht such ich auch einfach falsch?!
LG
Moderiert von Th69: Quote- durch C#-Tags ersetzt
erfahrener Neuling - Fr 07.06.19 10:39
Moin,
also wenn ich das richtig verstanden habe, willst du immer nur ein Item (Artikelname) auswählen und dessen Beschreibung im Label anzeigen.
Da würde ich nicht SelectedItems benutzen (impliziert ja schon evtl. mehrzahl), sondern konkret das ausgewählte Item abrufen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private void ListBoxArtikel_SelectedIndexChanged(object sender, EventArgs e) { int index = this.listBoxArtikel.SelectedIndex; if (index != -1) { string artikelName = this.listBoxArtikel.Items[index].ToString(); this.lblProdukttext.Text = deineDatenquelle.GetArtikelBeschreibung(artikelName); } } |
Ansonsten:
Zitat: |
allerdings wird mir auch am Ende des Textes noch der Name ausgegeben, was ich eigentlich nicht wollte |
dann solltest du es dem Programm auch sagen, dass du das nicht willst :D
Zitat: |
C#-Quelltext 1:
| lblProdukttext.Text = "Text" + listBoxArtikel.SelectedItem; | |
Gruß
Julian
Moderiert von Th69: Doppelposting entfernt (und Änderung hier übernommen).
Shadow73 - Fr 07.06.19 11:06
Hallo Julian,
hm das ist ja schon wieder was völlig anderes als was ich mir da "zusammengestrickt" habe.
Ist es nicht möglich, die Produkttexte zusammen mit dem markierten Item zu hinterlegen?
So in der Art:
C#-Quelltext
1: 2:
| Artikel[0] = "Produkttext"; Artikel[1] = "Produkttext2"; |
LG
Nils
Moderiert von Th69: C#-Tags hinzugefügt
Th69 - Fr 07.06.19 11:43
Doch, möglich ist alles. Hast du es denn mal ausprobiert?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!