如果ListBox1.SelectedItem

时间:2015-06-08 17:04:43

标签: vb.net selected listboxitem

当我尝试单击列表框中的某个项目然后尝试运行代码时,我一直收到错误。它告诉我一些关于将它转换为布尔值的事情,但我并不完全确定。我试过ToString(),但没有运气。

除非在列表框中选择了某些内容,否则我不希望代码运行。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    If ListBox1.SelectedItem Then
        ProgressBar1.Value = 0
        Timer1.Start()
        Button1.Enabled = False

        System.Threading.Thread.Sleep(2000)
        TextBox1.Refresh()
        TextBox1.Text &= "Preparing"
        TextBox1.Refresh()
        System.Threading.Thread.Sleep(2000)
        TextBox1.Refresh()
        TextBox1.Text &= Environment.NewLine & ""
        TextBox1.Refresh()
        System.Threading.Thread.Sleep(2000)
        TextBox1.Text &= Environment.NewLine & ""

    Else
        MsgBox("", 0, "")
    End If
End Sub

3 个答案:

答案 0 :(得分:1)

试试这个......

 If ListBox1.SelectedItems.Count > 0 Then ....

另外,如果你使用的话不等于True以外的任何内容,你可能想要改变这个......

答案 1 :(得分:0)

If (ListBox.SelectedItems.Count > 0) Then 返回ListBox中实际选定的项,但If语句需要表达式计算为布尔值(true或false)。您正在寻找的可能是:

set /p website=""
ping %website%
set /p websitestart=""
start iexplore.exe %websitestart%
exit

答案 2 :(得分:0)

根据您的代码,我的假设是您只想在ListBox1包含所选项目时执行条件代码。但ListBox.SelectedItem属性不能像这样使用布尔值。

相反,请考虑只检查ListBox的选定索引,例如:

If ListBox1.SelectedIndex >= 0 Then
    [...]

希望这有帮助!如果您有任何问题,请告诉我。

编辑:或者,如果您想保留更多当前代码,可以将条件与SelectedItemNothing进行比较:

If ListBox1.SelectedItem IsNot Nothing Then
    [...]