当我尝试单击列表框中的某个项目然后尝试运行代码时,我一直收到错误。它告诉我一些关于将它转换为布尔值的事情,但我并不完全确定。我试过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
答案 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
[...]
希望这有帮助!如果您有任何问题,请告诉我。
编辑:或者,如果您想保留更多当前代码,可以将条件与SelectedItem
对Nothing
进行比较:
If ListBox1.SelectedItem IsNot Nothing Then
[...]