2013-07-26 45 views
1

我得到了這個錯誤「Operator'='沒有爲類型'CivilStatus'定義,而是輸入'Integer'。」vb.net combobox selectedvalue事件錯誤

代碼:

Private Sub cboCivilStatus_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCivilStatus.SelectedValueChanged 

    If cboCivilStatus.SelectedValue = 2 Then 
     dtpDateMarried.Enabled = True 
    Else 
     dtpDateMarried.Enabled = False 
    End If 

End Sub 

回答

2

好吧,你應該嘗試使用ComboBox SelectedIndexChanged事件

Private Sub cboCivilStatus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboCivilStatus.SelectedIndexChanged 
     If cboCivilStatus.Text = "2" Then 
      dtpDateMarried.Enabled = True 
     Else 
      dtpDateMarried.Enabled = False 
     End If 

    End Sub 
+0

我試過所選的文本,它沒有啓用dtpDateMarried控件。我應該把什麼事件放到代碼中? – user2059064

+0

我添加了一些代碼。感謝@Ruben。 – user2059064

0

它看起來像SelectedValue包含CivilStatus類的對象。如果你正在尋找的所選項目的索引,使用cboCivilStatus.SelectedIndex屬性,而不是:

If cboCivilStatus.SelectedIndex = 2 Then 

但是如果你需要的CivilStatus的屬性,你需要覈對該屬性,例如

If CType(cboCivilStatus.SelectedValue, CivilStatus).MyIntProperty = 2 Then 
+0

我得到了這個錯誤「無法投入'System.int64'類型的對象來鍵入'ChurchData.CivilStatus'」 – user2059064

+0

只是爲了澄清 - 你需要檢查下拉列表中的第二個元素或具有特定屬性= 2的元素? –

+0

我只是想要啓用日期時間選擇器控件,如果選擇的組合框= 2的值。該組合框必須屬於民族階層。在數據庫CivilStatus ='Married'中,ID = 2。 – user2059064