2009-04-03 6 views
1

나는 이렇게 콤보 상자 컨트롤의 유효성을 검사하는 메서드가 있습니다 :열거 가능한 Windows 컨트롤을 지정하는 인터페이스 란 무엇입니까?

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

답변

0

ComboBox은 인터페이스를 구현하지 않지만 대신 추상 클래스 ListControl에서 상속됩니다.

+0

감사합니다. 매력처럼 작동;) – Austin

0

나는 존재하지 않는다고 생각합니다. 각기 다른 유형의 컨트롤이 구현하는 자체 인터페이스 (일반적으로 다른 도우미 정보가 포함 된 I (Product) 필드)를 만들었습니다. 그런 다음 유효성 검사에서 방금 그 점을 캐스팅했습니다. 그것은 세계 최고의 디자인이 아니지만 매력처럼 작동합니다.

또한 컨트롤의 각 유형 (편집 상자, 콤보 상자 등)을 서브 클래스 화하는 것에도주의해야합니다. 그러나 일반적으로 다른 용도로 서브 클래 싱을하고 있으므로이 문제는 고려하지 않았습니다.