Tengo datagridview en el que una de las columnas es una casilla de verificación. Manejo el evento CellContentClick para actualizar la información cada vez que el usuario marca o desmarca una de las casillas de verificación. Funciona muy bien. Mi problema es que cuando hago doble clic en una casilla de verificación se llama a CellContentClick y luego CellContentDoubleClick después de eso. Deseo anular la llamada para CellContentDoubleClick. ¿Hay alguna forma de hacer esto?cómo evitar que se genere el evento de doble clic en una vista de cuadrícula de datos?
6
A
Respuesta
1
Puede quitar el controlador de eventos de la cuadrícula de datos.
EventHandler eventHandler = new EventHandler(YourdataGridview_CellContentDoubleClick);
YourdataGridview.CellContentDoubleClick -= eventHandler;
0
Usted puede crear su propia clase que hereda de DataGridView y anular el método de lo que elevaría el evento de manera que no quede levantada.
public class MyDataGridView : DataGridView
{
protected override viod OnCellContentDoubleClick(
DataGridViewCellEventArgs e)
{
// by having no code here and not
// calling base.OnCellContentDoubleClick(e);
// you prevent the event being raised
}
}
0
¿Qué tal esto:
public class MyDataGridView : DataGridView
{
protected override void OnCellContentDoubleClick(DataGridViewCellEventArgs e)
{
base.OnCellContentClick(e);
}
}
+1
No debe he probado este código 'protección anulada violar' – quantum
Cuestiones relacionadas
- 1. Cómo evitar que se active el evento de un solo clic al hacer doble clic en extjs
- 2. Emular el evento de doble clic en Datagrid con touchDown
- 3. Cómo enlazar un comando al hacer doble clic en una fila en la cuadrícula de datos
- 4. C#: Cómo evitar que la verificación TreeNode ocurra en un evento de doble clic
- 5. Hacer que toda la fila se pueda hacer clic en una vista de cuadrícula
- 6. Recibiendo el evento de doble clic
- 7. Evento de doble clic en android
- 8. ¿Cómo puedo evitar que se genere un atributo de validación?
- 9. Implementando el evento de doble clic en Silverlight 4 Datagrid
- 10. Evitar que el evento click se active cuando se activa el evento dblclick
- 11. ¿Cómo paso el evento al hacer clic en una vista?
- 12. Cómo evitar la clasificación de la vista de cuadrícula de datos
- 13. ¿Cómo establecer el foco en una fila en particular en una cuadrícula de datos/vista de cuadrícula?
- 14. Evitar que el evento de clic del contenedor principal se active cuando se hace clic en el hipervínculo
- 15. Fila de cuadrícula de datos de Silverlight Haga clic en
- 16. ¿Cómo evitar un doble clic usando jQuery?
- 17. evitar la 'doble acontecimiento' cuando se hace clic ETIQUETAS dentro de un elemento con un evento de clic
- 18. Abrir elementos de la lista desplegable (en una cuadrícula de datos) en un solo clic
- 19. ¿Cómo evitar que bundler genere binstubs?
- 20. Cómo evitar que el texto seleccione un lienzo de HTML5 externo al hacer doble clic en?
- 21. Adjuntar evento de doble clic a una etiqueta
- 22. En Zend_Form, ¿cómo evitar que Zend_Validate_Email genere múltiples errores?
- 23. ¿por qué se activa el evento DataGrid MouseDoubleClick cuando hace doble clic en la barra de desplazamiento?
- 24. Hipervínculo en la vista de cuadrícula de datos
- 25. Cómo detectar doble clic en la vista de la lista barra de desplazamiento?
- 26. Necesita cancelar eventos de clic/mouseup cuando se hace doble clic en evento detectado
- 27. Hacer doble clic en un evento en el elemento JList
- 28. jQuery: Al hacer clic, evitar el evento de mouseenter
- 29. C# Listbox Elemento Doble clic Evento
- 30. Cómo evitar que el doble clic en seleccionar texto en javascript
Se podría añadir una bandera en la clase que el clic se está manejando, y volver en el evento de doble clic si ese indicador está activado . pero eso depende en gran medida del orden en que se envían los eventos, y probablemente no sea la mejor manera de hacerlo. – cyanic
Gracias. Sí, parece una buena opción. Sin embargo, no sé si cuando haga un ** return ** la casilla de verificación se marcará o no de todos modos. Una cosa que hice fue establecer la propiedad ** ReadOnly ** true, después de esto cuando haces doble clic en la casilla de verificación en la celda solo se actualiza una vez. – user990692
Puede usar fácilmente un indicador bool para ignorar el evento cuando se produce muy poco después del CellContentClick. Estoy empezando a recordar esto como un error ... Aquí hay algo más de información: http://www.aspnet-answers.com/microsoft/NET/33946836/datagridview-cellcontentclick-fires-after-celldoubleclick.aspx y http : //stackoverflow.com/questions/381072/datagridview-cellcontentclick y http://social.msdn.microsoft.com/Forums/en-us/csharpgeneral/thread/e6f3a286-3e93-4170-a895-8c68a616cc37 –