Pues eso… en un programa que estoy haciendo necesitaba lanzar (producir) un evento si el usuario hacía doble clic (doble pulsación con el ratón/mouse) en un elemento de un Listview y busqué en mi sitio cómo hacerlo, pero… ¡no lo encontré! así que… aquí te pongo el código de cómo hacerlo por si alguna vez te surge esta misma tarea.
Como viene siendo costumbre, el código te lo muestro tanto para Visual Basic como para C# y en cuanto a las versiones, creo que este código sirve para cualquier versión (tanto de VB como de C#) siempre que sea para punto net (.NET Framework).
Comentarte que:
DatoSeleccionado es un evento que yo he definido en el formulario y que lo intercepta otra parte de mi código.
lvDatos es un control de tipo ListView.
Visual Basic .NET
Private Sub lvDatos_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles lvDatos.MouseDoubleClick ' Al hacer doble click en un elemento del listview If lvDatos.SelectedItems.Count > 0 Then Dim lv As ListViewItem = lvDatos.SelectedItems(0) RaiseEvent DatoSeleccionado(lv.Text) End If End Sub
C#
private void lvDatos_MouseDoubleClick(object sender, System.Windows.Forms.MouseEventArgs e) { // Al hacer doble click en un elemento del listview if( lvDatos.SelectedItems.Count > 0 ){ ListViewItem lv = lvDatos.SelectedItems[0]; if( DatoSeleccionado != null ) DatoSeleccionado(lv.Text); } }
Espero que te sea de utilidad.
Nos vemos.
Guillermo
P.S.
El código de C# lo he convertido a partir del código de Visual Basic usando mi utilidad gsConvertirCodigo.exe (y no lo he comprobado, pero debería funcionar ¡seguro!).
Tanto el código de Visual Basic como el de C# está coloreado usando mi utilidad gsColorearCodigo.exe.
…
Gracias Guille