0

VBAで、コントロールタイプのSelect..Case比較を行う方法を知っています。

Select Case TypeName(ctrl)
  case is = "ListBox"
    ...
  case is = "ComboBox"
    ...
  ...
End Select

VB.Netでは、上記のように一般的な値を使用できますか、それともテキストに名前空間修飾子を含める必要がありますか?

現在の実装:

public function Validate(byref ctrl as WebControl) as boolean
  select case TypeName(ctrl)
    case is = "TextBox"
      ....
    case is = "Label"
      ....
    ...
  End select
End Function
4

2 に答える 2

4

タイプの「名前」は必要ありません。タイプを直接使用できます。

    Select Case True
        Case TypeOf c Is TextBox
            ' its a Textbox
        Case TypeOf c Is Label
            ' its a label
        Case Else
            'foo
    End Select
于 2012-12-11T16:24:44.863 に答える
2

私はあなたがこのような何かを期待していると思いますあなたはTypeOf演算子を使うことができます

Dim ctrl As Control
        For Each ctrl Me.Controls
            If (TypeOf ctrl Is TextBox) Then
                ''do something
            End If
            If (TypeOf ctrl Is Label) Then
                ''do something
            End If
        Next ctrl 

アップデート

使用するcase

  select case True
    case  TypeOf ctrl Is TextBox
      ....
    case TypeOf ctrl Is Label
      ....
    ...
  End select
于 2012-12-11T16:24:26.813 に答える