Что такое интерфейс, который определяет перечисляемый элемент управления Windows? - PullRequest
1 голос
/ 03 апреля 2009

У меня есть метод, который проверяет элемент управления поля со списком, например:

Public Function ValidateComboBox(ByVal objMessageMode As Errors.MessageMode, ByVal cboInput As ComboBox) As Boolean

    Dim blnValidated As Boolean

    'no value--invalidate'
    If cboInput.SelectedValue Is Nothing Then
        Errors.InvalidateField(cboInput, Errors.errFieldBlank, Me.ErrorProviderPurchaseTag, objMessageMode)
        blnValidated = False

        'value--validate'
    Else
        Errors.ValidateField(cboInput, Me.ErrorProviderPurchaseTag)
        blnValidated = True
    End If

    Return blnValidated

End Function

Я хочу иметь возможность заменить любой элемент управления в качестве параметра, который реализует поведение объекта «SelectedValue». Есть ли интерфейс, который я мог бы указать? Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 03 апреля 2009

Я не верю, что есть. Я создал свой собственный интерфейс (обычно я (Product) Field, который также содержит другую вспомогательную информацию), который реализует каждый другой тип элемента управления. Затем, в подтверждении, я просто обратился к этому; это не лучший дизайн в мире, но он работает как шарм.

Обратите внимание, что это также включает создание подклассов для каждого типа элементов управления (поле редактирования, поле со списком и т. Д.), Но я обычно уже делю их на подклассы для других целей, поэтому не считаю это проблемой.

0 голосов
/ 03 апреля 2009

ComboBox не реализует интерфейс, но вместо этого наследует от абстрактного класса ListControl .

...