2014-12-28 51 views
0

我對vb.net非常陌生,現在發現術語/概念有點令人生畏,所以請原諒這個問題的新手性。在VB.NET中通過字符串變量設置控件屬性值

我想通過變量設置一些控制屬性。例如:

Dim f As DateTimePicker 
Dim g As String = "Short" 
f.Format = DateTimePickerFormat.g 

這是行不通的。我做錯了什麼,我該如何糾正?

回答

0

如果你想設置的系統短格式,你只需做這樣的:

Dim f As New DateTimePicker 
f.Format = DateTimePickerFormat.Short 

你的想法是正確的,但the Format property接受一個枚舉值是predefined Enum values。如果不進行反思(這是一個更高級的主題),您需要使用預定義的值,而不是嘗試使用字符串值動態設置它。

編輯

如果你真的想用一個字符串值來設置Format,你可以這樣來做:

Dim f As New DateTimePicker 

' This must be set to a valid DateTimePickerFormat name. 
Dim formatType As String = "Short" 

f.Format = DirectCast([Enum].Parse(GetType(DateTimePickerFormat), formatType), DateTimePickerFormat) 
+0

感謝。那麼,Reflection是動態地實現這一點的方式?看起來像我將堅持多線ifs的時間,如果它是先進的.. – stigzler

+0

@stigzler - 我更新了答案,以顯示如何使用字符串值來設置它。 –

+0

謝謝fella - 很快就會試用這個... – stigzler

相關問題