Entwickler-Ecke
WinForms - listbox aus anderer Form an eine andere Form weiterleiten
Dragonclaw - Do 17.03.11 20:24
Titel: listbox aus anderer Form an eine andere Form weiterleiten
Sry für den kryptischen Titel, ist nen bisschen schwer kurz zubeschreiben was ich eigentlich will.
Also ich habe eine Funktion in der statischen Klasse Cardbase die anhand eines Strings entscheidet welche Daten in eine Listbox geladen werden
Quelltext
1:
| CardBase.AddCustomToListBox(Listbox listbox, String customSets) |
Die Listbox in die eingefügt werden soll befindet sich allerdings in einem Fenster welches vom Hauptfenster geöffnet wird und zwar so:
Quelltext
1: 2:
| CardLibrary cardLibrary = new CardLibrary(); cardLibrary.Show(); |
in CardLibrary wird dann eine weiteres Fenster geöffnet
Quelltext
1: 2:
| Config.customOpen = true; CustomSets customSets = new CustomSets(); |
von dort aus wird dann die Funktion AddCustomToListBox aufgerufen
Quelltext
1: 2:
| CardLibrary cardLibrary = CardLibrary.ActiveForm as CardLibrary; CardBase.AddCustomToListBox(cardLibrary.lbCardLib, "Eventide"); |
Der Debuggen meckert nicht, allerdings wenn der Code tatsächlich ausgeführt wird.
NullReferenceException wurde nicht behandelt.
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Wo liegt da genau der Fehler?
Trashkid2000 - Do 17.03.11 21:31
Hallo,
Dragonclaw hat folgendes geschrieben : |
| Also ich habe eine Funktion in der statischen Klasse Cardbase die anhand eines Strings entscheidet welche Daten in eine Listbox geladen werden... |
Weniger Typsierung als mit einem String geht nicht! Das ist wirklich nicht die beste Methode. Aber gut.
Ich denke, dass es an der Stelle scheitert:
C#-Quelltext
1: 2:
| CardLibrary cardLibrary = CardLibrary.ActiveForm as CardLibrary; CardBase.AddCustomToListBox(cardLibrary.lbCardLib, "Eventide"); |
Denn lass mal eine andere Form aktiv sein... Wenn Du ein
as verwendest, dann solltest Du danach auch auf
null prüfen.
Soviel erstmal, Marko
Dragonclaw - Do 17.03.11 21:51
Trashkid2000 hat folgendes geschrieben : |
Hallo,
Dragonclaw hat folgendes geschrieben : | | Also ich habe eine Funktion in der statischen Klasse Cardbase die anhand eines Strings entscheidet welche Daten in eine Listbox geladen werden... | Weniger Typsierung als mit einem String geht nicht! Das ist wirklich nicht die beste Methode. Aber gut. |
Ich baue mir auch alle makieren Einträgen einer CheckedListBox nen String zusammen und gebe den weiter, falls dir was besseres einfällt wäre ich für Ratschläge dankbar.
Trashkid2000 hat folgendes geschrieben : |
Ich denke, dass es an der Stelle scheitert:
C#-Quelltext 1: 2:
| CardLibrary cardLibrary = CardLibrary.ActiveForm as CardLibrary; CardBase.AddCustomToListBox(cardLibrary.lbCardLib, "Eventide"); | Denn lass mal eine andere Form aktiv sein... Wenn Du ein as verwendest, dann solltest Du danach auch auf null prüfen.
Soviel erstmal, Marko |
Du hast Recht, cardLibrary ist
null. Was ist nicht verstehe ist warum das so ist. Muss ich erst die Form CardLibrary wieder als Focus setzen? Falls ja wie mache ich das?
Dragonclaw - Do 17.03.11 23:43
Okay ich hab das jetzt folgender Weise gelöst:
Der Construktor von customSets nimmt jetzt ne ListBox mit auf, dann hab ich ne lokale referenze zu ner Listbox und kann die einfach an die Funktion weiter reichen.
Ich würde aber trotzdem ganz gerne verstehen warum das oben nicht geklappt hat.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!