Entwickler-Ecke
WinForms - Object reference not set to an instance of an object
code19 - So 08.02.09 13:02
Titel: Object reference not set to an instance of an object
Hallo
Ich versuche seit Paar Tagen zu entdecken, wo mein Fehler liegt, komme leider von selber nicht drauf :(
Das untere Beispiel habe ich in meinem Programm öfters verwendet, was prima funktioniert hatte, ausser bei dieser Stelle:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public void saveToData() { Form formSave = new FormSave(); formSave.StartPosition = FormStartPosition.CenterScreen; formSave.Controls["textBox3"].Text = ""; formSave.Show(this); } |
An der kommentierten Stelle bekomme ich ständig den Hinweis
Object reference not set to an instance of an object
Wie gesagt, ähnliche Beispiel habe ich erfolgreich durchgeführt, nur hier blockt es komischer Weise
kann mir bitte jemand sagen, was ich da falsch mache und wie ich es korrigiere
Danke
Kha - So 08.02.09 13:44
Dann hat die Form wohl kein (direktes) Kind namens "textBox3" :nixweiss: . Die ganzen Zuweisungen sollten aber eher in den Konstruktor von FormSave (bzw. warum nicht direkt im Designer festlegen?), dann musst du erst gar nicht das Control suchen.
code19 - So 08.02.09 14:03
Danke dir Kha für die schnelle Antwort
Ich habe davor die eine Möglichkeit probiert und da hat es funzt
In "
FormSave" hatte ich einen splittContainer, in dem mein
TextBox3 lag. Kaum setzte ich das TextBox ausserhalb, hat es geklappt :?
Zitat: |
Dann hat die Form wohl kein (direktes) Kind namens "textBox3" |
Da hast du wohl recht, obwohl ich den Unterschied nicht verstehe, warum C# dies so differenziert (mit direktem und undirektem Kind).
Danke :)
Kha - So 08.02.09 15:20
code19 hat folgendes geschrieben : |
Da hast du wohl recht, obwohl ich den Unterschied nicht verstehe, warum C# dies so differenziert (mit direktem und undirektem Kind). |
Delphi macht das auch nicht anders :) . Dafür gibt es dann eben
FindComponent, das die gesamte Hierarchie durchläuft - und unter .Net heißt es
Controls.Find. Wäre hier (und quasi überall sonst) aber wie gesagt fehl am Platze.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!