Designer verlangt nach Konstruktor obwohl einer vorhanden ist

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Designer verlangt nach Konstruktor obwohl einer vorhanden ist

    Hey Leute,

    Ich habe folgendes Problem, ich habe ein eigenes Control mit einem Property das eine List von einer anderen Class ist. Dazu habe ich folgenden Code

    Spoiler anzeigen

    Für das Control:

    VB.NET-Quellcode

    1. Private mValue As New List(Of mValues)
    2. Public Sub New()
    3. 'Add Handler
    4. 'Set Properties
    5. mValue.Add(New mValues(25, Color.FromArgb(15, 157, 88)))
    6. mValue.Add(New mValues(25, Color.FromArgb(244, 180, 0)))
    7. mValue.Add(New mValues(25, Color.FromArgb(219, 68, 55)))
    8. mValue.Add(New mValues(25, Color.FromArgb(66, 133, 244)))
    9. End Sub
    10. <Editor("System.Windows.Forms.Design.ListControlCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", GetType(UITypeEditor))>
    11. <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
    12. Public Property Values As List(Of mValues)
    13. Get
    14. Return mValue
    15. End Get
    16. Set(ByVal value As List(Of mValues))
    17. mValue = value
    18. Refresh()
    19. End Set
    20. End Property


    Und für den Property mValues habe ich:

    VB.NET-Quellcode

    1. Public Class mValues
    2. Private mVal As Single
    3. Private mCol As Color
    4. Public Sub New()
    5. mVal = 25
    6. mcol = Color.FromArgb(15, 157, 88)
    7. End Sub
    8. Public Sub New(Val As Single, col As Color)
    9. mVal = Val
    10. mCol = col
    11. End Sub
    12. Public Property Value As Single
    13. Get
    14. Return mVal
    15. End Get
    16. Set(value As Single)
    17. mVal = value
    18. End Set
    19. End Property
    20. Public Property Color As Color
    21. Get
    22. Return mCol
    23. End Get
    24. Set(value As Color)
    25. mCol = value
    26. End Set
    27. End Property
    28. End Class



    Im designer stellt er mir auch alle Daten perfekt da, aber wenn ich in dem Property Grid des Designers oder dem auf einer Form auf die Property klicke, und drücke auf hinzufügen, dann bekomme ich folgende Fehlermeldung:

    Der Konstruktor für den Typ "StaticsKiller.PieChart+mValues" wurde nicht gefunden.

    Aber ich habe doch ein Sub new ohne Bedingungen.
    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down
    @Toni03 Wenn das ein UserControl ist, muss im Konstruktor noch InitializeComponent() aufgerufen werden.
    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!
    @Toni03 Ne Ne.

    VB.NET-Quellcode

    1. Partial Class UserControl1
    2. Inherits System.Windows.Forms.Control
    3. ' ...
    4. End Class
    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!

    Toni03 schrieb:

    eine Class
    Ja was denn nun?
    Poste so viel Code, dass bei mir ohne weiteres Nachfragen derselbe Fehler kommt.
    Teste dies vorher bei Dir.
    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!
    Ich habe den selben Code jetzt in einem anderen Projekt benutzt wo ich ihn ursprünglich kürzen wollte und habe dann festgestellt, dass dort alles funktioniert. Habe es in meinem Ursprungsprojekt nochmal versucht und dort wieder einen Fehler bekommen, habe dann VS neu gestartet und es ging Einwandfrei.
    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down