Devo rilevare quando l'utente sposta il mouse sopra il modulo e tutti i relativi controlli figlio e anche quando lascia il modulo. Ho provato le MouseEnter
e MouseLeave
eventi del modulo, ho provato la WM_MOUSEMOVE
& WM_MOUSELEAVE
e WM_NCMOUSEMOVE
& WM_NCMOUSELEAVE
coppie di messaggi di Windows, ma nessuno sembra funzionare come voglio ...Come rilevare se il mouse si trova nell'intero modulo e nei controlli figlio?
La maggior parte della mia forma è occupato da controlli figlio di molti tipi, non c'è molta area cliente visibile. Ciò significa che se muovo il mouse molto velocemente, il movimento del mouse non verrà rilevato, sebbene il mouse si trovi all'interno del modulo.
Per esempio, ho un TextBox che è ancorata sul fondo e tra il desktop e il controllo TextBox, c'è solo un piccolo bordo. Se sposto rapidamente il mouse dal fondo nel TextBox, il movimento del mouse non verrà rilevato, ma il mouse si trova all'interno del TextBox, quindi all'interno del modulo.
Come posso ottenere ciò di cui ho bisogno?
che rende solo il lavoro l'altro modo ... Voglio dire, ora che rileva quando il mouse si trova sopra il Modulo di controlli figlio, ma non il modulo stesso. Voglio rilevare l'intera cosa. Devo anche rilevare quando il mouse è entrato nel Form e quando è uscito, non solo che si sta muovendo all'interno. –
Bene, ho trovato esattamente quello che stavo cercando in questo esempio: http://netcode.ru/dotnet/?lang=&katID=30&skatID=283&artID=7862. Utilizza lo stesso principio della tua risposta, IMessageFilter. E mi permette di rilevare quando il mouse entra e lascia il modulo. Devo solo adattare e spogliare il codice per quello che voglio. Ad ogni modo, se potessi elaborare la tua risposta su IMessageFilter, che cos'è, come funziona e tutto il resto, contrassegnerò questa risposta come accettata. E per favore aggiungi una nota per controllare i commenti per le altre persone che cercano una soluzione allo stesso identico problema. –
Hai mai visto la mia richiesta Tcks? Forse lo fai questa volta ... Potresti per favore modificare il tuo post ed elaborare un po 'sull'intera cosa di IMessageFilter e come funziona? –