hinzufügen von Elementen zu combobox
Ich versuche, einige Elemente hinzu combobox, wie seine zeigte auf der msdn-Website, aber es wirft mich eine null-Verweis-Ausnahme
comboBox1.Items.Add("test");
Ich versuche, es zu ändern auf
ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
comboBox1.Items.Add(test);
Aber es hat nicht funktioniert
Können Sie mir sagen, wo ist das problem?
Dank
BEARBEITEN:
GELÖST :
problem war, dass ich den Aufruf
InitializeComponent();
nachdem dieser code nicht vor, jetzt funktioniert es wie ich möchte, vor 🙂
Items
null.- NÖ, Items-Auflistung wird erstellt, auf Nachfrage
- Es ist nichts falsch mit dem code (außer einem Tippfehler, wo Sie
comboBox1
stattcombobox1
). Das führt zu einem compile-Zeit-Fehler. Es muss noch etwas anderes in deinem code den Fehler verursacht. - Chancen sind, dass die Ausnahme nicht aus diesem code. kommentieren Sie diese Zeilen aus und sehen, ob es immer noch passiert. wenn er aus diesem code, die uns zeigen, das die volle Ausnahme
- Nicht unbedingt. In der OP das erste Beispiel die ComboBox mit Namen "comboBox1". Ich Wette, Sie sind zwei getrennte Objekte, die beide gültig, aber comboBox1 ist null, was ist die Ursache des ursprünglichen Fehlers.
- S. Stimmt, die OP ist zu klären. Jedoch, auch wenn die Bezeichnung "comboBox1" wurde ein separates Objekt, warum sollte eine NullReferenceException geworfen werden? Die Items-Auflistung muss nicht manuell erstellt werden, bevor die Zuweisung. Sollte das nicht der code theoretisch nur noch das test-Objekt "comboBox1"?
- ok, wenn ich es ändern um die Bezeichnung "comboBox1" - es werden Elemente Hinzugefügt, aber es nicht zeigen Ihnen, warum?
- Ch Siehe die erste Zeile von Ed S. die Antwort.
- Ch - Siehe Ed S. die Antwort bezüglich der container.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen Mit
combobox1
undcomboBox1
ist nicht dasselbeNullReferenceException
comboBox1
tatsächlich null. Warum? Keine Ahnung, aber angesichts der information, dass der OP sich das vorgestellt hat ich glaube, es ist die einzig logische Schlussfolgerung.In diesem Beispiel:
Deine ComboBox ist nicht ein Kind von einem container (D. H., eine Form), so dass es nicht sichtbar in der Benutzeroberfläche. Ich nehme an, das ist, was du gemeint mit "funktionieren nicht" in diesem Fall. Wenn Sie ein Steuerelement erstellen im code, den Sie brauchen, um es Ihrem Formular hinzuzufügen oder ein Kind Ihrer form so (vorausgesetzt, WinForms, und auch, dass der code in deiner Form-Klasse...)
Werden Sie auch brauchen, um die Größe, position, etc.
Den
Items
SammlungComboBox
sollte nicht null sein, da es erstellt wird, wenn Sie es verlangen, so würden wir sehen, wo combobox1 aus. Wenn Sie es mit einem einfachen Problem wie einemNullReferenceException
verwenden Sie den debugger, um herauszufinden, welches Objekt null ist.EDIT: Wie Manjoor darauf hingewiesen,
combobox1
ist nicht das gleiche wiecomboBox1
als C# - /Kleinschreibung (beachten Sie die HauptstadtB
). Also, von der Beweise, die Sie uns gegeben haben,comboBox1
(Kapital B) ist null.