Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net] Click su un elemento in precise coordinate
Forum - C# / VB.NET - [vb.net] Click su un elemento in precise coordinate

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 22:05
Martedì, 09/03/2010
Sono alla presa con un programma particolare... e mi servirebbe un aiuto in questo.
Infatti stò creando un bottone che quando viene premuto praticamente deve fare un click su precise coordinate (x=16 e Y=34) di un elemento (in questo caso un webbrowser).
Ho già provato dei codici a caso ma non ci sono riuscito.
Qualcuno saprebbe darmi una mano ?

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:46
Mercoledì, 10/03/2010
serve anche l'altezza e la larghezza del controllo per essere piu precisi.

Codice sorgente - presumibilmente C++

  1. int MouseX; //cordinate mouseX;
  2. int MouseY; //cordinate mousey;
  3.  
  4. int Width = 100; //larghezza controllo
  5. int Height = 20; //altezza controllo
  6. int CX; //cordinate X controllo
  7. int CY; //cordinate Y Controllo
  8.  
  9. //al click
  10.  
  11. if(MouseX > CX && MouseX < Width && MouseY > CY && MouseY < Height) {
  12.  
  13. //evento click nelle cordinate del controllo
  14.  
  15. }






https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:33
Mercoledì, 10/03/2010
Non funziona, ho provato a sostituire a "Mouse" il nome dell'elemento, e ho messo le giuste coordinate, poi non ho capito cosa devo mettere in "//evento click nelle cordinate del controllo"

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:32
Giovedì, 11/03/2010
Ti assicuro io che funziona.

questo e un semplice esempio dell'algoritmo che ho usato
per cliccare su ogni quadratino di una griglia disegnata in directX.
quindi sono piu o meno sui 1280 quadratini 32x32 posizionate in aree diverse.

questa parte

Codice sorgente - presumibilmente C# / VB.NET

  1. if(MouseX > CX && MouseX < Width && MouseY > CY && MouseY < Height) {
  2.  
  3. //evento click nelle cordinate del controllo
  4.  
  5. }



Guarda l'immagine.

Indica che quando il mouseX e > del punto di partenza del controllo ma NON supera la larghezza, uguale per l'altezza.. esegue quella funzione.

esempio

ControlloX = 10
ControlloY = 10
ControlloW = 100 (largezza)
ControlloH = 30 (altezza)

Mouse

Mx = 80 ( posizione del mouse X e a 80
My = 150 (posizione del mouse Y e a 150

se ora provassi a cliccare non succederebbe nulla perchè Y del mouse e fuori dalla portata del controllo supera i 30 che sarebbe l'altezza del controllo
mentre rientrebbe nella larghezza,

per farlo funzionare quella funzione, non sò.
devi saperlo tu dove applicarla.
di solito viene inserita in un ciclo continuo. per verificare se viene cliccato in quell'area.


Thejuster ha allegato un file: esempio.PNG (1055 bytes)
Clicca qui per guardare l'immagine


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 10:16
Giovedì, 11/03/2010
Secondo me hai bisogno di questo:

http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...

È in vb6 ma è semplicissimo adattarlo a vb.net

PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:16
Lunedì, 15/03/2010
Sarò io che sono tonto ma proprio non ci riesco.

Praticamente si tratta di far click nelle coordinate x=8 Y=10 di un webbrowser che si trova nell'angolo in alto a sinistra della form, ho già provato con il codice ma mi sottolinea degli errori (con colore blu)

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 23:26
Mercoledì, 17/03/2010
devi ottenere le coordinate relative allo schermo come nel link di alfonso
poi ti basta fare:
Codice sorgente - presumibilmente C# / VB.NET

  1. 'posiziono cursore
  2. me.cursor.position = new point(coordinataX,coordinataY) 'oppure metti un punto
  3. 'per simulare pressione
  4. SendKeys.Send(Chr(Keys.LButton))


PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:22
Giovedì, 18/03/2010
Coordinate x e y di Cursor.Position si riferiscono alle coordinate assolute (misurate sullo schermo intero). Per cliccare il punto (8, 10) del WebBrowser devi posizionare il mouse nel punto WebBrowser.PointToScreen(New Point(8, 10)).

PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:18
Giovedì, 18/03/2010
Una cosa che non capisco è questo "schermo intero" che continuate a sottolineare, intendete la dimensione totale dello schermo, o della form ?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo