2013-06-28 38 views
1

我對vb.net編碼比較陌生。根據if語句修改背景顏色

我期待編寫代碼,將修改基於一些標準的標籤(計算結果輸出)的顏色。我有一個下拉菜單,有2個選項,灰塵和金屬。

的顏色沒有改變,我不知道爲什麼。

這是代碼;

Dim concentrationcheck As String = Form8.materialType.SelectedIndex 
     Select Case concentrationcheck 
      Case "Dust" 
       If Val(concentrationValue.Text) < 4 Then 
        concentrationValue.BackColor = Color.Red 
        MsgBox("Add more suppressant or contact factory") 
       Else 
        concentrationValue.BackColor = Color.Green 
       End If 
      Case "Metal" 
       If Val(concentrationValue.Text) < 20 Then 
        concentrationValue.BackColor = Color.Red 
        MsgBox("Add more suppressant, or contact factory") 
       Else 
        concentrationValue.BackColor = Color.Green 
       End If 
     End Select 
+0

發生了什麼?你的任何MsgBox的射擊?任何錯誤? – tymeJV

+0

不,沒有錯誤框,但格式化保持爲標準透明。 – DwayneHeight

回答

1

的SelectedIndex是一個數字,而不是的SelectedItem

Dim concentrationcheck As String = Form8.materialType.SelectedItem.ToString 

Form8名字聽起來等形式的名稱,而不是實例。我的猜測是將其更改爲我,如果這是在一個表格所有正在運行:

Dim concentrationcheck As String = Me.materialType.SelectedItem.ToString 

如果沒有選擇,一個會拋出異常,所以你可能需要做一個簡單的檢查:

If materialType.SelectedIndex > -1 Then 
    code here 
End If 
+0

謝謝你的LarsTech,顏色格式仍然不起作用。 – DwayneHeight

+0

@DwayneHeight「不工作」不是說明。任何錯誤?你的Form8的名字對我來說是可疑的,因爲它聽起來像是表單的名字而不是實例。我的「猜測」是將「Form8」更改爲「Me」。 – LarsTech

+0

我有8個Windows應用程序窗體,這一個是form4拉取form8輸入的數據 – DwayneHeight

0

我猜你的下拉菜單組合框..試試這個..

Dim concentrationcheck As String = Form8.materialType.Text 
0

我懷疑的SelectedIndex在你原來的職位。 SelectedIndex是整數,而不是在整數位置處的值

的SelectedValue可能會得到你所需要的。

相關問題