Pergunta

Eu tenho um método que valida um controle de caixa de combinação assim:

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

O que eu quero é ser capaz de substituir qualquer controle como um parâmetro que implementa o comportamento do objeto "SelectedValue". Existe uma interface que eu poderia especificar? Obrigado pela ajuda!

Foi útil?

Solução

ComboBox não implementa uma interface, mas em vez herda da classe abstrata ListControl .

Outras dicas

Eu não acredito que existe. Eu criei minha própria interface (geralmente I (Product) Campo que também contém outras informações helper) que cada tipo diferente de implementos de controle. Então, na validação Eu só lançou a isso; não é o melhor design do mundo, mas ele funciona como um encanto.

Note que isto também envolve subclassificação cada tipo de controle (caixa de edição, caixa de combinação, etc), mas, normalmente estou já subclasse-los para outros fins, então eu não considero isso é um problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top