【问题标题】:What is an interface that specifies an enumerable Windows control?什么是指定可枚举 Windows 控件的接口?
【发布时间】:2010-10-17 10:39:29
【问题描述】:

我有一个方法可以像这样验证组合框控件:

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”对象行为的参数。有我可以指定的接口吗?感谢您的帮助!

【问题讨论】:

    标签: .net winforms interface combobox enumerable


    【解决方案1】:

    ComboBox 没有实现接口,而是继承自抽象类ListControl

    【讨论】:

      【解决方案2】:

      我不相信有。我创建了我自己的接口(通常是 I(Product)Field,它还包含其他帮助信息),每种不同类型的控件都实现了这些接口。然后,在验证中,我只是对此进行了验证;这不是世界上最好的设计,但它就像一个魅力。

      请注意,这还涉及对每种类型的控件(编辑框、组合框等)进行子类化,但是,我通常已经将它们子类化以用于其他目的,因此我认为这不是问题。

      【讨论】:

        猜你喜欢
        • 2011-02-12
        • 2013-07-27
        • 1970-01-01
        • 1970-01-01
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-20
        相关资源
        最近更新 更多