1

我对 vb.net 编码比较陌生。

我正在寻找编写一个代码,该代码将根据某些标准修改标签(计算结果输出)颜色。我有一个带有 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
4

3 回答 3

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
于 2013-06-28T13:18:28.013 回答
0

我对您原始帖子中的 SelectedIndex 持怀疑态度。SelectedIndex 是一个整数,而不是该整数位置的值。

SelectedValue 可能会为您提供所需的东西。

于 2013-06-28T15:32:15.000 回答
0

我猜你的下拉菜单是组合框..试试这个..

Dim concentrationcheck As String = Form8.materialType.Text
于 2013-06-28T13:25:34.773 回答