Mehrere Typen für die Designer Collection

  • VB.NET
  • .NET (FX) 4.0

    Mehrere Typen für die Designer Collection

    Jenni Jenni,

    Ich habe eine Collection Eigenschaft, diese soll mehrere mögliche Typen unterstützen. Und das geht so weit. Nur hinzufügen kann ich von Designer noch nicht.

    Hier die Eigenschaft

    VB.NET-Quellcode

    1. Protected _Items As New JenniHerbrichPlanerCollection
    2. Public ReadOnly Property Items As JenniHerbrichPlanerCollection
    3. Get
    4. Return Me._Items
    5. End Get
    6. End Property


    Und hier die Test Types die ich hinzufügen will sowie allem voran die Collection klasse die aber er Profan ist

    VB.NET-Quellcode

    1. Public Class CellData
    2. Public Value As Integer, Checked As Boolean = False
    3. End Class
    4. Public Class JenniHerbrichPlanerCollection
    5. Inherits List(Of JenniHerbrichPlanerItem)
    6. End Class
    7. Public Class JenniHerbrichPlanerItem
    8. Public Property Pos As Integer
    9. End Class
    10. Public Class JenniHerbrichPlanerTextItem
    11. Inherits JenniHerbrichPlanerItem
    12. Public Property Titel As String
    13. End Class


    Das Control wird in der Sub New mit Test Daten gefüttert

    VB.NET-Quellcode

    1. #Region "Test Data"
    2. Protected Sub foobaa()
    3. Dim x As New JenniHerbrichPlanerTextItem With {.Pos = 8, .Titel = "Foo Baa"}
    4. Me.Items.Add(x)
    5. End Sub
    6. #End Region


    Was auch gut Funktioniert. Sieht im Designer dann so aus


    Möchte ich dann ein neues Item hinzufügen bekomme ich logischerweise nur die Basis Klasse von der alles Erbt mit der man jedoch nicht viel Anfangen kann.


    Es geht bei dem ganzen Spaß darum ein Benutzerdefiniertes WindowsForms Steuerelement zu erstellen mit dem man eine Datenstruktur in einer Matrix Form bearbeiten kann. Aktuell ist so, ein Standartfelt zeigt einfach nur die Zahl an die seine Position in der Matrix angibt. Man soll die Felder am Ende natürlich frei definieren können, und nicht nur Text sondern auch andere Marker, weswegen ich verschiedene Klassen verwende die alle (getreu der Objekt Orientieren Programmierung) von einer Basisklasse ableiten (erben).

    Lg, Jenni Herbrich
    Bilder
    • JenniferHerbrichDesigner1.png

      12,36 kB, 575×417, 109 mal angesehen
    • JenniferHerbrichDesigner2.png

      12,43 kB, 575×417, 114 mal angesehen