Control verändern, einige Fragen

  • VB.NET

Es gibt 64 Antworten in diesem Thema. Der letzte Beitrag () ist von Pes1899.vb.

    Du musst in deiner Klasse einen Sub namens "New" machen, weiß zwar nicht, wofür das gut ist, und habs noch nie verwendet, aber die meisten Codes im Forum hier haben so was und aus deinem Fehler kann ich schließen, dass dein ToolStrip auch einen Sub New() haben muss, weil der Original-ToolStrip auch einen hat.
    "Die erste Anweisung dieses "Sub New" muss ein Aufruf an MyBase.New oder MyClass.New sein, da die Basisklasse "System.Windows.Forms.ToolStrip" von "ClassLibrary1.VistaStrip" mehr als eine zugreifbare "Sub New" hat, die ohne Argumente aufgerufen werden kann."

    Code:

    VB.NET-Quellcode

    1. Public Sub New()
    2. End Sub
    MSDN: Konstruktor:
    Wenn Sie eine von einer anderen Klasse abgeleitete Klasse definieren, muss die erste Zeile eines Konstruktors einen Aufruf an den Konstruktor der Basisklasse beinhalten, sofern die Basisklasse nicht über einen zugreifbaren Konstruktor verfügt, der keine Parameter benötigt. Ein Aufruf an die Basisklasse mit dem oben stehenden Konstruktor wäre beispielsweise MyBase.New(s). Andernfalls ist MyBase.New optional und wird von der Visual Basic-Laufzeit implizit aufgerufen.


    Desweiteren:
    Fehlermeldung
    Die erste Anweisung dieses "Sub New" muss ein Aufruf an "MyBase.New" oder "MyClass.New" sein, da die Basisklasse "<Basis>" von "<abgeleiteteKlasse>" mehr als eine zugreifbare "Sub New" hat, die ohne Argumente aufgerufen werden kann.

    Ein Klassenkonstruktor stellt keinen Aufruf an einen Basisklassenkonstruktor bereit, und Visual Basic kann keinen impliziten Aufruf zur Verfügung stellen, weil es den aufzurufenden Basisklassenkonstruktor nicht feststellen kann.

    So beheben Sie diesen Fehler
    Fügen Sie unter Verwendung von MyClass.New() oder Me.New() einem Basisklassenkonstruktor MyBase.New() oder einem anderen Konstruktor dieser Klasse einen Aufruf hinzu. Dieser Aufruf muss in der ersten Zeile des Konstruktors stehen.


    @VB_Gamer: der New-"Konstruktor" wird beim erstellen des jeweiligen Objektes aufgerufen. Hier können Initialisierungen vorgenommen werden. Wenn du dich nicht wirklich auskennst, dann bitte nicht raten. Da kommen nur mehr Fehler ins Spiel. ;)