vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Liegts am TypConverter? 
Autor: Akii
Datum: 25.08.09 18:15

Hallo zusammen,

folgende Situation: Ich hab mir ein Control gebastelt, das änlich funktioniert wie ein Button, ist jedoch von Control abgeleitet:
Public Class MyControl
    Inherits System.Windows.Forms.Control
    '...
End Class
Das Control funktioniert einwandfrei, wenn ich z.B. auf ein Form setze.
Weiter hab ich eine Componente erstellt, in der es ein Property gibt, das eine Liste von MyControl(s) enthalten soll.
Public Class MyComponent
    Inherits System.ComponentModel.Component
 
    '...
 
    Private xItems As System.Collections.ObjectModel.Collection(Of MyControl)
    <Category("Daten")> _
    Public ReadOnly Property Items() As _
    System.Collections.ObjectModel.Collection(Of MyControl)
        Get
            Return Me.xItems
        End Get
    End Property
 
    '...
End Class
Diese Component hab ich nun auf/in ein Form1 gezogen und wenn ich im Designer im PropertyGrid das Property auswähle "Items |Auflistung |...|", öffnet sich ein Window und ich kann die MyControls belibig hinzufügen, ändern und löschen. Mit "ok" wirds dann übernommen. Soweit gut, aber:
Im "Form1.Designer.vb" fehlt dann die Zuweisung für das Items-Property.
Private Sub InitializeComponent()
        Me.MyComponent1 = New ContextMenuBlack.MyComponent
        Me.MyControl1 = New ContextMenuBlack.MyControl
        Me.MyControl2 = New ContextMenuBlack.MyControl
        Me.SuspendLayout()
        '
        'MyComponent1
        '
        Me.MyComponent1.CheckOnClick = False
        Me.MyComponent1.Font = [...]
--> hier sollte doch nun irgendwie stehen:
        Me.MyComponent1.Items.AddRange(New IrgendEineListe() {Me.MyControl1, _
          me.MyControl2})
<---
        '
        'MyControl1
        '
        Me.MyControl1.Location = New System.Drawing.Point(0, 0)
        Me.MyControl1.Name = "MenuItem1"
        Me.MyControl1.Size = New System.Drawing.Size(63, 15)
        Me.MyControl1.TabIndex = 0
        Me.MyControl1.Text = "MenuItem1"
        '
        'MyControl2
        '
        '...
        '...
        '
        'Form1
        '
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
        Me.ClientSize = New System.Drawing.Size(284, 264)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)
 
End Sub
Friend WithEvents MyComponent1 As ContextMenuBlack.MyComponent
Friend WithEvents MyControl1 As ContextMenuBlack.MyControl
Friend WithEvents MyControl2 As ContextMenuBlack.MyControl
...tut es aber leider nicht. Und mit dem, was ich im Netz finde, bekomme ich diese Situation nicht gebacken. Für Euch evtl. interessant: Ich arbeite mit VB 2008 Express(!)

So wie ichs bisher verstanden hab, müsste ich einen TypConverter für das Items-Property einfügen. Jedoch hab ich nirgends etwas über die Auflistung von Controls gefunden. Oder mein Ansatz ist von Grund auf falsch (nicht auszuschließen )

Wäre nett, wenn Ihr mir hier helfen könntet. Gerne auch mit Code-Beispielen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Liegts am TypConverter?1.078Akii25.08.09 18:15
Re: Liegts am TypConverter?785ModeratorRalf Ehlert25.08.09 19:49
Re: Liegts am TypConverter?748Akii25.08.09 21:45
Nachtrag: Liegts am TypConverter?780Akii26.08.09 22:47
Re: Nachtrag: Liegts am TypConverter?788ModeratorRalf Ehlert27.08.09 21:33
Re: Nachtrag: Liegts am TypConverter?788Akii27.08.09 22:01

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel