首页 > 解决方案 > 如何在自定义控件组合框中枚举 My.Setting.Connectionstring

问题描述

我正在创建一个文本框类型的自定义控件,并且我想创建一个组合框属性,该属性枚举项目设置“连接字符串”中可用的所有连接。

我正在使用此代码。如您所见,我在尝试时评论了非工作代码。

Private _formatString As String = Nothing

    <Category("Display")>
    <DisplayName("Connection")>
    <Description("Connection string.")>
    <DefaultValue("")>
    <TypeConverter(GetType(FormatStringConverter))>
    Public Property Connection As String
        Get
            Return _formatString
        End Get
        Set(ByVal value As String)
            _formatString = value
        End Set
    End Property

    Public Class FormatStringConverter
        Inherits StringConverter

        Public Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function

        Public Overrides Function GetStandardValuesExclusive(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function

        Public Overrides Function GetStandardValues(ByVal context As ITypeDescriptorContext) As TypeConverter.StandardValuesCollection
            Dim list As List(Of String) = New List(Of String)()
            'For Each current In Configuration.ConfigurationManager.ConnectionStrings
            '    list.Add(current.Name)
            'Next
            'For Each value As Configuration.SettingsPropertyValue In My.Settings.PropertyValues
            '    'MessageBox.Show(value.Name & " - " & value.PropertyValue.ToString)
            '    'list.Add(value.Name & " - " & value.PropertyValue.ToString)
            'Next
            list.Add("")
            list.Add("Currency")
            list.Add("Scientific Notation")
            list.Add("General Number")
            list.Add("Number")
            list.Add("Percent")
            list.Add("Time")
            list.Add("Date")
            Return New StandardValuesCollection(list)
        End Function
    End Class

我想枚举我放置控件的项目中的连接字符串。

自定义控件位于一个单独的项目中,与我使用的表单的项目不同。

[编辑]
我在设计时看不到预期的结果。我想在设计时从组合框中选择与数据集表适配器连接选择中的 tableadapter 相同的组合框中的连接。所以我想阅读并设置表单中可用的连接列表属于我在设计时放置自定义文本框的项目。

标签: vb.netcustom-controlspropertygrid

解决方案


推荐阅读