문제

콤보 박스 컨트롤을 확인하는 방법이 있습니다.

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"객체의 동작을 구현하는 매개 변수로 컨트롤을 대체 할 수 있어야합니다. 지정할 수있는 인터페이스가 있습니까? 도와 주셔서 감사합니다!

도움이 되었습니까?

해결책

콤보 박스 인터페이스를 구현하지 않고 대신 추상 클래스에서 상속됩니다. ListControl.

다른 팁

나는 믿지 않는다. 나는 각기 다른 유형의 제어가 구현되는 내 자신의 인터페이스 (보통 I (제품) 필드)을 만들었습니다. 그런 다음 검증에서 방금 캐스팅되었습니다. 그것은 세계 최고의 디자인은 아니지만 매력처럼 작동합니다.

여기에는 각 유형의 컨트롤 (편집 상자, 콤보 상자 등)을 서브 클래싱하는 것도 포함되지만, 일반적으로 다른 목적으로 이미 하위 클래스를하고 있으므로 이것이 문제라고 생각하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top