Bueno, he estado haciendo pruebas:
El código:
Código:
Private Sub ListBoxVisados_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBoxVisados.SelectedIndexChanged
Dim i As Integer
i = ListBoxVisados.SelectedIndex
MsgBox(i)
If VisDeshabilitados(i) = True Then 'Línea 854
ListBoxVisados.SetSelected(i, False) 'Línea 855
Exit Sub
End If
propiedadesVisados(i)
End Sub
El error que me da es:
Código:
************** Texto de la excepción **************
System.IndexOutOfRangeException: Índice fuera de los límites de la matriz.
at Qube.Form1.ListBoxVisados_SelectedIndexChanged(Object sender, EventArgs e) in C:\Documents and Settings\jls\Mis documentos\Qube\Qube\Form1.vb:line 854
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.SetSelected(Int32 index, Boolean value)
at Qube.Form1.ListBoxVisados_SelectedIndexChanged(Object sender, EventArgs e) in C:\Documents and Settings\jls\Mis documentos\Qube\Qube\Form1.vb:line 855
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
La primera vez que selecciono el "item" no pasa nada (lógico). Luego hago las operaciones pertinenetes entre las que se encuentran:
VisDeshabilitados(i) = True
MsgBox("Visado registrado.")
MsgBox(VisDeshabilitados.IndexOf(VisDeshabilitados , True))
Después de que se ejecute el mensaje de la línea 853 aparece otro mensaje que indica -1 y que no sé de dónde sale.
¿Alguna idea?
Gracias.