Domanda

Ho un metodo che convalida un controllo casella combinata in questo modo:

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

Quello che voglio è essere in grado di sostituire qualsiasi controllo come un parametro che implementa il comportamento dell'oggetto "SelectedValue". C'è un'interfaccia che ho potuto specificare? Grazie per l'aiuto!

È stato utile?

Soluzione

ComboBox non implementa un'interfaccia, ma invece eredita dalla classe astratta ListControl .

Altri suggerimenti

Non credo che ci sia. Ho creato la mia propria interfaccia (di solito mi (Product) Il campo che contiene anche altre informazioni di supporto), che ogni diverso tipo di strumenti di controllo. Poi, nella validazione ho appena gettato a quella; non è il miglior design del mondo, ma funziona come un fascino.

Si noti che questo comporta anche una sottoclasse ogni tipo di controllo (casella di modifica, casella combinata, ecc) ma, di solito sto già li sottoclasse per altri scopi in modo da non considero questo un problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top