InitializeComponent wurde nicht deklariert

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

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Kagu-chan.

    InitializeComponent wurde nicht deklariert

    Moin,

    ich war schon länger nicht mehr hier und vor allem nutze ich gerade erstmals das .net Framework 4.5...

    Ich habe eine Form, welches OnFormLoad (Me.Load Event) ein paar Dinge tun soll (Eben die Form initialisieren).

    Früher habe ich folgenden Code dafür genutzt (.net 4.0)

    Visual Basic-Quellcode

    1. Option Compare Binary
    2. Option Explicit On
    3. Option Infer On
    4. Option Strict On
    5. Public Class Main
    6. Private _createdTabs As New List(Of String)
    7. Private _titles As New Dictionary(Of String, String)
    8. Private _lastTab As String = String.Empty
    9. Public Sub New()
    10. ' Designer instanciating
    11. InitializeComponent()
    12. ' Own instanciating
    13. AddHandlers()
    14. '...
    15. Private Sub AddHandlers()
    16. AddHandler Me.Load, AddressOf OnFormLoad
    17. '...
    18. Private Sub OnFormLoad(ByVal sender As Object, ByVal e As EventArgs)
    19. Me.PLastEvents.Controls.Add(New LastEvents)
    20. '...


    Wie dem auch sei, geht nimmer :(

    Visual Basic-Quellcode

    1. Namespace Spindle.UI
    2. Public Class FMain
    3. Public Sub New()
    4. InitializeComponent() ' <= InitializeComponent wurde nicht deklariert <=> Es wird auch kein Code mehr von der
    5. ' Intellisence generiert wie früher
    6. End Sub
    7. End Class
    8. End Namespace


    Ein MsgBox("HALLO") in meiner New-Sub wird btw. auch nicht ausgeführt...

    Ich möchte ungern Sub() Handles Event nutzen, Weil sich die normalen Callbacks mit AddHandler / RemoveHandler besser verwalten / kontrollieren lassen.

    Brauch ich da jetzt `ne andere Vorgehensweise?
    Oder ist mein Projekt falsch konfiguriert?

    Deine Klasse ist ja auch keine Form.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Kagu-chan schrieb:

    ich verstehe es gerade echt nicht...
    Formen und UserControls, die im Designer designed werden, haben eine InitializeComponents()-Prozedur, wo die addierten Controls instanziiert und initialisiert werden. Diese wird vom Designer angelegt.
    Was ist das für eine Klasse? Von welcher ist sie abgeleitet?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nochmal: Du erbst nicht von Form, das ist das Problem.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Das ist die stinknormale Codedatei der jeweiligen Form, die vom Designer erstellt wurde.
    Ich habe sie lediglich in einen Namespace gepackt, glaube aber mich zu erinnern, das man das VS irgendwo sagen kann / muss - ich weiß leider nicht mehr wo.

    Wenn ich das Namespace-Statement auskommentiere, funktioniert es auch wieder. Demnach liegt es wohl am Namespace.

    Wo kann ich VS aber nun sagen, das es in dem namespace für die Form nachschauen soll?

    Visual Basic-Quellcode

    1. 'Namespace Spindle.UI
    2. Public Class FMain
    3. Public Sub New()
    4. InitializeComponent()
    5. End Sub
    6. End Class
    7. 'End Namespace