Ich arbeite an einem Projekt, für das ich ein benutzerdefiniertes Steuerelement entworfen habe, und ich versuche, es hinzuzufügen und in einem Gruppenfeld zu suchen.C# - Position des benutzerdefinierten Steuerelements in GroupBox ändern (gibt Nullreferenzausnahme zurück)
Die Schritte zum Initialisieren und Hinzufügen des Steuerelements zur Box funktionieren einwandfrei, aber alles, was ich versuche, das Steuerelement zu verschieben oder zu ändern, verursacht eine Ausnahme.
//initialise using object in outputs collection
VitalsVisual vitalsVisual = vitalOutputs.getVitalsVisual();
//add to relevant groupbox
grpbxIntraOp.Controls.Add(vitalsVisual);
//change location (coordinates within groupbox)
vitalsVisual.Location = new Point(249, 256); //THROWS EXCEPTION
//resize
vitalsVisual.Size = new Size(494, 342); //THROWS EXCEPTION IF REACHED
Alles, was ich auf eine der beiden angegebenen Linien erhalten, ist „Objektverweis nicht auf eine Instanz eines Objekts festgelegt“. Ich verstehe das nicht wirklich, da es darauf hinweist, dass die VitalsVisual vitalsVisual
nicht initialisiert wird, aber der Konstruktor aufgerufen wird und der Controls.Add()
Befehl funktioniert. Sicher, wenn es nicht initialisiert worden wäre, würde dieser Befehl dieselbe Ausnahme auslösen.
Kann jemand sehen, was hier falsch sein könnte? Würde einen Schubs in die richtige Richtung wirklich schätzen!
Danke, Mark
Gibt 'getVitalsVisual' tatsächlich einen Wert zurück oder gibt es null zurück? Was erbt das 'VitalsVisual'-Steuerelement? – kagelos
Die vorgeschlagene Antwort erklärt, warum Sie das Problem nicht richtig debuggen konnten, aber das Problem nicht wirklich löst, d. H. Dass Sie eine Nullreferenz haben. Bitte lesen Sie den ausführlichen Ratschlag in dem markierten Duplikat, wie Sie eine "NullReferenceException" debuggen können, so dass Sie zu einem Punkt kommen können, wo Ihre Frage spezifischer ist als "Warum bekomme ich diese Ausnahme?" Wenn Sie zu diesem Zeitpunkt noch Probleme haben, stellen Sie eine neue Frage, in der Sie eine gute Frage gestellt haben, die das Problem zuverlässig reproduziert, zusammen mit einer genauen Erklärung dessen, mit welchem Problem Sie Schwierigkeiten haben. –
Kein Duplikat, da er fälschlicherweise angenommen hatte, dass ein Steuerelement zu einer Controls-Auflistung hinzugefügt werden kann, kann nicht null sein. Ich habe erklärt, warum dies eine falsche Annahme ist. Das Debugging von 'getVitalsVisual' ist der nächste Schritt, aber nicht die Frage, wirklich. – TaW