¿Cómo se obtienen todos los clics para pasar por el evento? Me di cuenta de que si hace clic demasiado rápido cree que está haciendo doble clic y no envía los clics al controlador de eventos. ¿Hay alguna manera de obtener todos los clics?WinForms deshabilita los clics dobles y acepta todos los clics del mouse?
Respuesta
No estoy seguro de por qué esta pregunta recibió una recompensa, la respuesta aceptada debería ser ya muy cerca de una solución. Excepto que debe usar MouseUp en lugar de MouseDown, su usuario normalmente espera que una acción de clic surta efecto cuando suelta el botón. Lo que proporciona la opción de volver atrás "¡Uy, no significaba hacer clic en él, mover el mouse para que se ignore".
Sin embargo, para los controles integrados de Winforms, como PictureBox, esto se puede configurar con el método Control.SetStyle(). Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Compilar. La caída de la nueva de control de la parte superior de la caja de herramientas:
using System;
using System.Windows.Forms;
class MyPictureBox : PictureBox {
public MyPictureBox() {
this.SetStyle(ControlStyles.StandardDoubleClick, false);
}
}
No obstante ten cuidado de que esto no va a funcionar para las clases .NET que envuelven un control nativo de Windows existente. Al igual que TextBox, ListBox, TreeView, etc. La configuración subyacente para eso es el indicador de estilo WNDCLASSEX.style member, CS_DBLCLKS. El código que establece ese indicador de estilo se procesa en Windows y no se puede cambiar. Necesitará otro tipo de cirugía para volver a hacer doble clic con un solo clic. Puede hacerlo reemplazando el método WndProc(), voy a dar un ejemplo de cuadro de texto:
using System;
using System.Windows.Forms;
class MyTextBox : TextBox {
protected override void WndProc(ref Message m) {
// Change WM_LBUTTONDBLCLK to WM_LBUTTONCLICK
if (m.Msg == 0x203) m.Msg = 0x201;
base.WndProc(ref m);
}
}
sólo cambia el nombre de la clase si quieres que lo haga por otros controles. Comando de Winforms para que funcione de la manera que desee nunca requiere mucho código, solo Petzold :)
Creo que quiere contar con todo el clic. Si desea contar, haga clic en establecer una variable de contador y aumentarla en el evento click. Puede ser esta ayuda para usted ....
Hágalo usted mismo y haga clic en él realmente rápido 10 veces. Obtendrás un número menor a 10. Quiero los 10 de esos clics. – Will
Desea utilizar el evento MouseDown de controles en lugar del evento Click. Se llamará a MouseDown cada vez que se presiona el mouse en ese control. Es posible que Click no se llame si el sistema cree que fue un doble clic. En su lugar, se generaría un evento de DoubleClick.
- 1. Deshabilitar los clics del mouse en Emacs
- 2. clics del mouse SeaDragon
- 3. ¿Ganar formularios, registrar todos los clics?
- 4. ¿Cómo detectar los clics del mouse en Javascript?
- 5. registrar los movimientos del mouse, los clics y la entrada del teclado con Java o C++
- 6. Simular clics del mouse en Python
- 7. Detectar clics del mouse en script bash
- 8. Cómo simular clics del mouse y presionar teclas en F #
- 9. emacsclient no responde a los clics del ratón
- 10. ¿Cómo puedo diferenciar entre clics simples y dobles en .Net?
- 11. Manejar eventos de clics en Google Maps JS API v3 ignorando clics dobles
- 12. ¿Cómo respondo a los clics del mouse en sprites en PyGame?
- 13. ¿Aceptar clics del mouse sin activar la aplicación?
- 14. obtener clics a través del lienzo html
- 15. Detección de clics del mouse en ventanas con python
- 16. Subclase de UIButton para manejar los clics
- 17. ¿Cómo rastrear los clics en los botones Tweet?
- 18. HTML/CSS: hacer un div "invisible" para los clics?
- 19. MySQL deshabilita todos los desencadenantes
- 20. use javascript para interceptar todos los clics en el enlace del documento
- 21. Inhabilitando el movimiento del mouse y clics en total en C#
- 22. Robolectric, Problemas con los elementos de la lista de clics
- 23. ListView Android cuando los artículos se enfocable, desactiva clics
- 24. Simular clics del mouse en Mac OS X no funciona para algunas aplicaciones
- 25. ¿Por qué se ignoran los clics en mi ExpandableListView?
- 26. DISABLEADVTSHORTCUTS = 1 deshabilita todos los accesos directos
- 27. Peak Filter tiene clics y pops
- 28. RaphaelJS: ¿Crear elementos de clics?
- 29. Tipo de entrada HTML5 = 'número': distinga entre clics de mouse de foco y cambio de valores
- 30. Uso de ncurses para capturar clics del mouse en una aplicación de consola
Utilice el evento mousedown en su lugar. –
@RussellTroywest Creo que el evento [MouseClick] (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseclick%28VS.80%29.aspx) sería mejor. Por elevar el orden –
@Michael: según MSDN "Dos clics individuales que se producen lo suficientemente cerca en el tiempo, según lo determinado por la configuración del mouse del sistema operativo del usuario, generarán un evento MouseDoubleClick en lugar del segundo evento MouseClick". - Que es lo que High está viendo. –