貌似是类型转换的问题。。
- VB.NET code
Dim i As Integer Dim ns As NetworkStream If ListView1.Items.Count = 0 Then Timer2.Enabled = False Timer1.Enabled = False Exit Sub End If For i = 0 To ListView1.Items.Count ns = TClist(ListView1.Items(i).ToString).GetStream() Else ns.Close() ListView1.Items.Remove(ListView1.Items(i)) End If Next
想用这段代码实现 自动检测所有添加到LISTVIEW中的客户端是否连接着,没有连接就去除显示
ns = TClist(ListView1.Items(i).ToString).GetStream() 这里的时候类型转换失败
还有If ns.CanWrite Then这句话可以用来检测数据流是否存在吗
[解决办法]
TClist 既然是List(Of TcpClient),后面括号中应传入的是Integer类型的索引值,而你传入的是string,当然会类型转换失败了。
如果 CanWrite 为 true,则 NetworkStream 将允许调用 Write 方法。
[解决办法]
你看下TClist()括号里面的参数都可以是哪些类型,
Integer肯定可以,比如TClist(i),string型应该是不可以的
你的参数就是string型
TClist(ListView1.Items(i).ToString())
你想要做的是从TClist()中寻找和ListView1.Items(i)相当的记录吗