2017-02-27 30 views
0

我很新的編碼和VB.net。只是不知道是否有更好的方法來做到以下:多個OR對象? 「如果TypeOf控件是ComboBox或TextBox」等

If TypeOf ctl Is ComboBox Or TypeOf ctl Is TextBox Then 
' code here 
End If 

你可以這樣做:

If TypeOf ctl is ComboBox or TextBox or... then 

End If 
+0

你試過嗎?發生了什麼?如果你使用'OrElse',它會在第一次比賽時停止評估條件。 – Plutonix

+0

是的,視覺工作室說「TextBox是一個類的類型,不能用作表達式」。而我不能做「或是」。我知道必須有一種方式,但不知道它是什麼。我的解決方法是做一個類型數組,並說TypeArray.contains(ctl.gettype) – Falthazar

回答

2

使用select case語句

Select Case ctl.GetType 
     Case GetType(Button), GetType(PictureBox) 
      .... whatever 
     Case GetType(Label) 
      .... whatever 
    End Select 

備選答案

使用快速陣列也可以。

If {GetType(Button), GetType(PictureBox)}.Contains(ctl.GetType) Then 
+0

謝謝!是的,我正在考慮這個問題,但我希望有一個更短的方法,不同的案例對我來說真的沒有關係,只是想說如果它是3種某些類型,然後得到的名稱。我結束了只是製作一個數組的類型,並說如果數組包含類型,然後輸出名稱。 – Falthazar

+0

雅,實際上可能一樣快,不知道GetType部分是多長時間... –

+1

@Daniel,看到我的更新到答案 –

相關問題