Fehler bei Grafikerstellung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von φConst.

    Fehler bei Grafikerstellung

    Hallo,
    ich bin gerade dabei eine art Snake Spiel zu schreiben, mit einigen Änderungen.

    Wenn ich nun mein Label "lblSurface" als Grafik designieren will, bekomme ich diesen Fehler:
    "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

    Hier ist der Code:

    VB.NET-Quellcode

    1. Public Class frmSnake
    2. '[...]
    3. Public Surface As Graphics = Me.lblSurface.CreateGraphics


    ​Wenn ich "Break" benutze, steht bei "Me.lblSurface" ein wert von "Nothing", was wohl den Fehler verursacht hat.
    ​Recht verwirrend.

    Hat jemand eine Idee?
    Das Framework ist VB.net 4.5 auf MS Visual Studio Express 2012.

    Danke,
    kodos
    Niemals CreateGraphics benutzen sondern ein Panel generieren und sein Paint -Event überschreiben.
    Am besten eine eigene Klasse erstellen die von Panel erbt, im Konstruktor die Eigenschaft DoubleBuffered = true setzen und fortan alle Panel Objekte durch diese Klasse ersetzen.

    Gemeint ist:

    C#-Quellcode

    1. ​using System.Windows.Forms;
    2. public class PanelDoubleBuffered : Panel
    3. {
    4. public PanelDoubleBuffered()
    5. {
    6. this.DoubleBuffered = true;
    7. }
    8. }


    Und nun den Event .Paint überschreiben.

    EDIT: Sehe du benutzt VB, ist dasselbe , statt : inherhits Panel und statt Constructor() public sub New().
    Und Gott alleine weiß alles am allerbesten und besser.