C Sharp listbox
Ich bin dabei ein kleines Projekt zu erstellen. Ich habe eine WindowsForms Anwendung mit einigen Textboxen und einer Combobox, sowie einer Listbox.
Ich fülle die Textboxen mit Infomationen und wähle ein festgelegtes Objekt in der Combobox. Nun speichere ich die Angaben in der Listbox. Alles soweit gut geklappt und sogar die einzelnen Textboxen gegen Fehleingaben gesichert. Mein Problem: Wenn ich später dann in der Listbox einige Einträge (Objekte) habe, will ich einen auswählen und nun sollen die wieder in die jeweiligen Textboxen ausgespuckt werden. Wie mach ich das am besten?? - Mit einem neuen Formular ?? oder kann ich das bestehende so lassen und die Angaben kommen da rein???
Vielen Dank im Voraus!
Ich fülle die Textboxen mit Infomationen und wähle ein festgelegtes Objekt in der Combobox. Nun speichere ich die Angaben in der Listbox. Alles soweit gut geklappt und sogar die einzelnen Textboxen gegen Fehleingaben gesichert. Mein Problem: Wenn ich später dann in der Listbox einige Einträge (Objekte) habe, will ich einen auswählen und nun sollen die wieder in die jeweiligen Textboxen ausgespuckt werden. Wie mach ich das am besten?? - Mit einem neuen Formular ?? oder kann ich das bestehende so lassen und die Angaben kommen da rein???
Vielen Dank im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169110
Url: https://administrator.de/forum/c-sharp-listbox-169110.html
Ausgedruckt am: 22.12.2024 um 01:12 Uhr
3 Kommentare
Neuester Kommentar
Ich habs ehrlich gesagt nicht so 100%ig verstanden, was du machen willst und wie du alles in deiner ListBox speicherst.
Ich vermute, du schreibst jeden Text aus einer TextBox als einen Eintrag in die ListBox und den ausgewählten Text in der ComboBox ebenfalls.
Oder erstellst du ein neues Objekt, welches alle Infos aus den Boxen hält und fügst es als Eintrag hinzu in die ListBox?
Falls du alles einzeln einträgst würde ich deine Eingabeobjekte in ein Array packen und die Indizes gleich den Indizes in der ListBox setzen.
So, dass das erste Objekt in deinem Array dem ersten Eintrag deiner ListBox entspricht etc.
Dann kannst du z.B. im SelectedIndexChanged Event der ListBox die TextBox mit dem SelectedIndex der ListBox auswählen und den Text des Eintrages der ListBox hineinschreiben
textBoxListe[listBox.SelectedIndex] = listBox.SelectedItem.ToString(); // ausm Stehgreif, aber die Richtung sollte klar sein
Wenn du ein Item aus der ComboBox wählen willst entsprechend
comboBox.SelectedText = listBox.SelectedItem.ToString();
Du kannst auch im Event selbst abfragen von welchem Typ das Objekt im Array ist ( ob TextBox oder ComboBox ) und entsprechend casten.
if ( objectListe[listBox.SelectedIndex] is TextBox )
{
((TextBox)objectListe[listBox.SelectedIndex]).Text = listBox.SelectedItem.ToString();
}
else
{
((ComboBox)objectListe[listBox.SelectedIndex]).SelectedText = listBox.SelectedItem.ToString();
}
Ich habs wie gesagt nur fix ausm Kopf geschrieben, alles ungetestet!
Falls du einen Eintrag für alle Eingaben machen willst könntest du die Eingaben über einen Separator in einem String zusammenführen und beim IndexChangedEvent auseinandernehmen über die Trim()-Funktion des Strings. Diese liefert dir ein StringArray zurück, mit welchem du wieder über den Index an die einzelnen Eingaben kommst!
Grüße
edit: Ich meinte natürlich die .Split(...) Methode!!!
Ich vermute, du schreibst jeden Text aus einer TextBox als einen Eintrag in die ListBox und den ausgewählten Text in der ComboBox ebenfalls.
Oder erstellst du ein neues Objekt, welches alle Infos aus den Boxen hält und fügst es als Eintrag hinzu in die ListBox?
Falls du alles einzeln einträgst würde ich deine Eingabeobjekte in ein Array packen und die Indizes gleich den Indizes in der ListBox setzen.
So, dass das erste Objekt in deinem Array dem ersten Eintrag deiner ListBox entspricht etc.
Dann kannst du z.B. im SelectedIndexChanged Event der ListBox die TextBox mit dem SelectedIndex der ListBox auswählen und den Text des Eintrages der ListBox hineinschreiben
textBoxListe[listBox.SelectedIndex] = listBox.SelectedItem.ToString(); // ausm Stehgreif, aber die Richtung sollte klar sein
Wenn du ein Item aus der ComboBox wählen willst entsprechend
comboBox.SelectedText = listBox.SelectedItem.ToString();
Du kannst auch im Event selbst abfragen von welchem Typ das Objekt im Array ist ( ob TextBox oder ComboBox ) und entsprechend casten.
if ( objectListe[listBox.SelectedIndex] is TextBox )
{
((TextBox)objectListe[listBox.SelectedIndex]).Text = listBox.SelectedItem.ToString();
}
else
{
((ComboBox)objectListe[listBox.SelectedIndex]).SelectedText = listBox.SelectedItem.ToString();
}
Ich habs wie gesagt nur fix ausm Kopf geschrieben, alles ungetestet!
Falls du einen Eintrag für alle Eingaben machen willst könntest du die Eingaben über einen Separator in einem String zusammenführen und beim IndexChangedEvent auseinandernehmen über die Trim()-Funktion des Strings. Diese liefert dir ein StringArray zurück, mit welchem du wieder über den Index an die einzelnen Eingaben kommst!
Grüße
edit: Ich meinte natürlich die .Split(...) Methode!!!