通过VB.NET中的字符串变量设置控件属性值

时间:2014-12-28 12:12:24

标签: vb.net properties controls

我对vb.net很新,发现术语/概念目前有点令人生畏,所以请原谅这个问题的新手。

我想通过变量设置一些控件属性。例如:

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

这不起作用。我做错了什么,如何纠正?

1 个答案:

答案 0 :(得分: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)