Q
使用IIF錯誤
1
A
回答
1
IIF是否只返回一個值?
是的。
即即使我想設置按鈕的寬度屬性,那麼我是否需要使用If結構?
不行,因爲你可以返回值分配給Width
屬性:
With Me.Button3
.Width = IIf(.Width = 123, 233, 150)
End With
需要注意的是,在VB.NET的當前版本中,If Operator應該用來代替IIF,因爲它有各種優點(類型安全,短路等)。例如,使用If(...)
將允許您的代碼在沒有額外投射的情況下編譯,即使您有Option Strict On
(您應該)。
With Me.Button3
.Width = If(.Width = 123, 233, 150)
End With
2
你的代碼測試.Width = 123
,那麼如果真或.Width = 150
如果假返回布爾表達式.Width = 233
,然後引發的結果了。這不是你想要的。你有三種選擇:
' IIf function - not recommended since it is not typesafe and evaluates all arguments.
.Width = IIf(.Width = 123, 233, 150)
' If operator - typesafe and only evaluates arguments as necessary.
.Width = If(.Width = 123, 233, 150)
' If statement - not an expression.
If .Width = 123 Then .Width = 233 Else .Width = 150
2
使用VB.NEt的If() - 語句。它被稱爲「條件運算符」,並以多種語言存在。 IIf是一個VB特定的函數,具有不同的行爲。 點擊此處瞭解詳情: Performance difference between IIf() and If
在這兩種情況下,IIF和如果只返回一個值(IIF那些不輸入,這是一個必須鑄造的對象)。這似乎是你想反正事情:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Button3.Width = If(Button3.Width = 123, 233, 150)
End Sub
相關問題
- 1. TIMEVALUE錯誤IIF
- 2. 查詢使用IIF Powershell ODBC錯誤
- 3. SSRS IIF條件錯誤
- 4. SSRS 2008:iif IsNan語句錯誤錯誤參數數量錯誤
- 5. 錯誤在MS Access查詢中使用IIF
- 6. 使用IIF()函數的SSRS Report Builder表達式錯誤
- 7. #錯誤的IIF-語句中使用行數(如果Countrows = 0)
- 8. 在訪問使用IIF給我聚合函數錯誤
- 9. iif使用是/否
- 10. Inner Join和IIF中的錯誤
- 11. iif和零作爲錯誤結果
- 12. IIF(IsNothing(Fields!field.value),「」,Fields!.value.ToString))生成錯誤
- 13. iif功能訪問 - 錯誤結果
- 14. 訪問/ VBA 3075 - 錯誤的IIF號碼
- 15. 在MS Access中出現IIf錯誤
- 16. T-SQL的錯誤與IIF關鍵字
- 17. 對於顏色表達的iif錯誤
- 18. SSRS IIF聲明顯示值錯誤時出現#錯誤
- 19. VB .NET XDocument和使用IIF
- 20. datatable.compute - 使用aggegrate內IIF
- 21. 在MSACCESS報告使用IIF
- 22. SSRS公式給出錯誤先用IIF條件函數給出錯誤
- 23. 如何處理數據庫空錯誤(已使用IIF東西是空)
- 24. 在查詢表達式中使用iif時訪問語法錯誤
- 25. 轉換SUM IIF定期IIF
- 26. 訪問2010 - SQL查詢 - 計數Iif聯盟所有錯誤
- 27. MS Excel的查詢表達式IIF語法錯誤
- 28. 將IIF轉換爲CASE語句(THEN&ELSE語句中的錯誤)
- 29. Axess表達式嵌套Iif()語句語法錯誤
- 30. 語法錯誤SQL Access嵌套IIF ISNULL語句
好吧 - 我假設VB的'Option Strict On'和VBA的'Option Explicit'等價的功能? – whytheq
@whytheq:不,VB的Option Explicit等價於VBA的Option Explicit。 ['Option Strict'是新東西](http://msdn.microsoft.com/de-de/library/vstudio/zcd4xwzs.aspx)它禁止隱式轉換。 – Heinzi
很高興我問 - 感謝您的額外信息+答案 – whytheq