有沒有辦法檢查並設置支持它的未指定Windows控件的Checked屬性?檢查是否可以檢查控制?
當然,還有蠻力方法:
If TypeOf (control) Is Windows.Forms.CheckBox Then
Dim chk As Windows.Forms.CheckBox = control
chk.Checked = Boolean.Parse(sText)
ElseIf TypeOf (control) Is Windows.Forms.RadioButton Then
Dim rdo As Windows.Forms.RadioButton = control
rdo.Checked = Boolean.Parse(sText)
ElseIf TypeOf (control) Is Windows.Forms.DateTimePicker Then
Dim dte As Windows.Forms.DateTimePicker = control
dte.Checked = Boolean.Parse(sText)
etc...
但是,我發現,醜陋的,而且有可能是我會想念控制。
似乎沒有超類,即使是支持該屬性的CheckBox
和RadioButton
。此外,試圖簡單設置control.Checked
將不會編譯。
如果您好奇我在做什麼,我正在創建一個通用的表格,該表格將存儲指定控件的默認值。
這是昂貴的,甚至可能是不正確的。例如'DateTimePicker'也有一個屬性['ShowCheckBox'](http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(v = vs.80).aspx )。我會用你的「醜陋的」方法。 –