none
NullReferenceException beim Ändern von Property RRS feed

  • Frage

  • Hallo,

    folgender Code löst bei mir eine "NullReferenceException" aus.

    i.Statusleiste1.Visible = false;

    ("i" ist das Formular mit der Statusleiste, dessen Sichtbarkeit geändert werden soll.)

    Aus welchem Grund tritt dieser Fehler auf und wie löse ich ihn?

    Vielen Dank an alle kommenden Antworten!

    Mittwoch, 15. April 2020 17:45

Antworten

Alle Antworten

  • Hi,
    am einfachsten ist es einen Haltepunkt zu setzen und dann die Variable "i" im Quickwatchfenster anschauen. Die Variable muss dann vom Typ "Form" sein. Weiter muss dann in der aufgeklappten Variablen "Statusleiste1" enthalten sein. Und wenn diese aufgeklappt wird, muss dann auch Visible enthalten sein. Irgendwo in dieser Folge gibt es einen Fehler.

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Mittwoch, 15. April 2020 18:46
  • Hallo,

    die Controls von einer Form direkt ansprechen wäre mir nicht bekannt, wenn i von Typ Form sein sollte, aber ich bin auch kein Experte wie manche hier.
    Um ein Control von einer anderen Form zu steuern versuche ich meistens die Controls von der entsprechenden Form durchzulaufen.

    foreach(Control c in i.Controls) {

    // Hier kann man auf einen beliebigen Typ (Button, Label, etc.) abfragen if (c.GetType() == typeof(StatusStrip) && c.Name == "Statusleiste1") { c.Visible = false; } }

    Somit wird generell mal geprüft obs ein Control von Typ XY in der Form gibt und dadurch auch kein Exceptiion ausgegeben, vorausgesetzt i ist nicht null.

    Lg
    Ge.Ri

    Freitag, 17. April 2020 07:37
  • Hi,
    wenn das Control den Namen "Statusleiste1" hat und der Zugriffsmodifizierer auf public steht (in den Eigenschaften des Steuerelementes), dann kann zugegriffen werden, wie Jonas es wünscht.

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Freitag, 17. April 2020 09:14