vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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
Re: Standard-Werte im Propertygrid anzeigen? 
Autor: TobiasS
Datum: 13.05.10 18:08

    ' 3. Eigenes Steuerelement beim Ausklappen anzeigen
    ' Zuerstmal brauchen wir eine Klasse, die von UITypeEditor 
    ' ableitet. Dort überschreiben wir die Methoden 
    ' GetEditStyle und EditValue
    Public Class CPropertyThree
        Inherits UITypeEditor
 
        Dim pListOfStrings As New List(Of String)
        Sub New(ByVal Strings As List(Of String))
            pListOfStrings = Strings
        End Sub
 
        Sub New()
            pListOfStrings.Add("1")
            pListOfStrings.Add("2")
        End Sub
 
        ' Wird gebraucht um das Steuerelement dann azuzeigen.
        Private edSvc As IWindowsFormsEditorService
 
        ' ListBox, die dann im Dropdown auftauchen soll.
        Dim WithEvents lstConditions As ListBox
 
        Public Sub CloselstConditions(ByVal sender As Object, ByVal e As _
          System.EventArgs) Handles lstConditions.SelectedIndexChanged
            lstConditions.Hide()
            edSvc.CloseDropDown()
        End Sub
 
        Public Overrides Function GetEditStyle( _
          ByVal context As ITypeDescriptorContext) As UITypeEditorEditStyle
 
            ' Überprüfung auf das vorhandensein und Rückgabe des Stils, was 
            ' angezeigt werden soll. In diesem Fall ein DropDown
            If Not context Is Nothing AndAlso Not context.Instance Is Nothing _
              Then
                Return UITypeEditorEditStyle.DropDown
            End If
            ' Ist nichts vorhanden ,dann machen wir an dieser Stelle nichts.
            Return UITypeEditorEditStyle.None
        End Function
 
        Public Overrides Function EditValue( _
          ByVal context As ITypeDescriptorContext, _
          ByVal provider As System.IServiceProvider, _
          ByVal value As [Object]) As [Object]
 
            If (Not (context Is Nothing) And _
              Not (context.Instance Is Nothing) And _
              Not (provider Is Nothing)) Then
 
                ' Überprüfung ob schon eine Kopie der ListBox da ist.
                If lstConditions Is Nothing Then
                    ' Wenn nein, dann neue Kopie erzeugen.
                    lstConditions = New ListBox
                    ' Setzen verschiedener Werte für die Anzeige.
                    lstConditions.Height = 125
                    lstConditions.BackColor = Color.GhostWhite
 
                    For Each item As String In Me.pListOfStrings
                        lstConditions.Items.Add(item)
                    Next
 
                End If
 
                ' Value ist der Wert, der im PropertyGrid angezeigt wird. 
                ' Wenn dieser Nothing ist dann auf Leerstring setzen.
 
                ' markieren des passenden Eintrages 
                ' in der ListBox
                Try
                    lstConditions.SelectedItem = value
                Catch ex As Exception
                End Try
 
 
                edSvc = CType(provider.GetService( _
                  GetType(IWindowsFormsEditorService)), _
                  IWindowsFormsEditorService)
                If Not (edSvc Is Nothing) Then
                    ' Hinzufügen der ListBox zum DropDown
                    edSvc.DropDownControl(lstConditions)
                End If
 
                Dim sDisplayConditions As String = ""
                If lstConditions.SelectedIndex >= 0 Then
                    sDisplayConditions = lstConditions.SelectedItem.ToString
                End If
 
                ' Den String zurück geben.
                Return sDisplayConditions
            End If
        End Function
    End Class
 
    ' Variable als String für Aufnahme des 
    ' Wertes aus der Klasse
    Private mPropertyThree As String = ""
 
    ' Editor = Angabe der Klasse und UITypeEditor. 
    ' Damit weiß er das er die Klasse nehmen soll.
    <System.ComponentModel.Editor(GetType(CPropertyThree), _
    GetType(System.Drawing.Design.UITypeEditor))> _
    Public Property PropertyThree() As String
        ' Wieder ein normales Property zum anzeigen des Wertes.
        Get
            Return mPropertyThree
        End Get
        Set(ByVal value As String)
            mPropertyThree = value
        End Set
    End Property
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Standard-Werte im Propertygrid anzeigen?2.703TobiasS13.05.10 12:31
Re: Standard-Werte im Propertygrid anzeigen?1.534ModeratorDaveS13.05.10 13:40
Re: Standard-Werte im Propertygrid anzeigen?1.543TobiasS13.05.10 14:43
Re: Standard-Werte im Propertygrid anzeigen?1.483Christian2513.05.10 15:51
Re: Standard-Werte im Propertygrid anzeigen?1.457TobiasS13.05.10 17:11
Re: Standard-Werte im Propertygrid anzeigen?1.450ModeratorDaveS13.05.10 16:13
Re: Standard-Werte im Propertygrid anzeigen?1.432TobiasS13.05.10 17:04
Re: Standard-Werte im Propertygrid anzeigen?1.420TobiasS13.05.10 18:07
Re: Standard-Werte im Propertygrid anzeigen?1.726TobiasS13.05.10 18:08
Re: Standard-Werte im Propertygrid anzeigen?1.492TobiasS14.05.10 08:59

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