Vorrei ripercorrere in VB NET quello che potevo fare in VB6 con le ListBox. In VB6 avevo una ListBox che dopo averla popolata, mi consentiva con un Click del mouse (ovviamente) di cambiare lo stato di un qualsiasi "Item" e contestualmente di modificare un valore Booleano nella Tabella di origine della lista. Questo per poter eseguire in seguito una Query selezionando solo i Record con il valore Booleano voluto. Per fare questo però, ho bisogno di conoscere il "valore" di quello specifico Item e in VB NET non so come fare. Qui i codice VB6 che vorrei ripercorrere in VB NET.
codice:
Private Sub ListaAgenti_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
Dim Posiz
Posiz = ListaAgenti.ListIndex
NomeAgente = Trim(ListaAgenti.List(Posiz))
ListaAgenti_Esegui
End Sub
............
Private Sub ListaAgenti_Esegui()
On Error GoTo errore_ListaAgenti_Esegui
Dim rcrdstAgenti As ADODB.Recordset, rcrdstMix As ADODB.Recordset
Dim sSQL As String
Dim i As Integer
Set rcrdstAgenti = New ADODB.Recordset
Set rcrdstMix = New ADODB.Recordset
' Porta a 0 o a -1 la Cella "Selezionato" dell'Agente su cui si è fatto "click"
sSQL = "SELECT DISTINCTROW Agente, Selezionato From Agenti ORDER BY Agente"
rcrdst.Open sSQL, ConnettiDBlocale, adOpenStatic, adLockOptimistic
rcrdstAgenti.MoveFirst
For i = 0 To rcrdstAgenti.RecordCount - 1
If rcrdstAgenti("Agente") = NomeAgente Then
If rcrdstAgenti("Selezionato") = 0 Then
Selez = -1
ListaAgenti.Selected(i) = True
ElseIf rcrdstAgenti("Selezionato") = -1 Then
Selez = 0
ListaAgenti.Selected(i) = False
End If
End If
rcrdstAgenti.MoveNext
Next i
Exit Sub
errore_DeselezionaTuttiAgenti:
MsgBox "Errore nella Sub ''..........'': " & Err.Number & " - " & Err.Description
End Sub
Non sono però riuscito a fare la stessa cosa in VB NET. Ho anche l'impressione che la ListBox di VB NET sia completamente diversa da quella di VB6 e che quindi non si possa usarla per fare quello che mi serve.
Qualcuno può aiutarmi?