PDA

Visualizza la versione completa : [vstudio] Sendkeys


dieric
07-10-2002, 15:39
Nei miei form utilizzo una procedura centralizzata in un modulo per fare in modo che sulla pressione del tasto INVIO si sposti il fuoco sul controllo successivo. per fare questo invio al sistema un TAB con l'istruzione SendKeys ("+{TAB}"). Questo sistema ha sempre funzionato, ma sto avendo problemi quando installo i miei programmi su WINDOWS 2000!!! Vedo lampeggiare lo SCROLL LOCK sulla tastiera e dopo un po' (andando avanti e indietro) si blocca la tastiera e non c'è modo di riprenderla.... qualcuno sa aiutarmi????

dieric
08-10-2002, 11:14
Ma è troppo difficile la mia domanda? Lo so che qualcuno di voi si è gia imbattuto in questo problema, ma come si può risolvere?
:dhò:

darkblOOd
08-10-2002, 11:29
Originariamente inviato da dieric
...Lo so che qualcuno di voi si è gia imbattuto in questo problema...

io no


cmq perchè non fai NExControllo.SetFocus anzichè usare il SendKeys? :dottò:

Vedi quel'è il controllo con il fuoco e appena premi enter ti muovi sul controllo successivo, così eviti di delegare il tutto alla sendkeys....:ciauz:

dieric
08-10-2002, 11:43
OKAY, ma come faccio a sapere qual è il prossimo controllo?

E poi non tutti i controlli hanno il setfocus.... tipo label, frame, oppure i controlli image :dhò: :dhò: :dhò:

darkblOOd
08-10-2002, 11:45
perchè con il sendkeys davi il focus ad una label? :dottò:

Lui ti da in automatico il prossimo controllo disponibile, poi se ti server spostarti solo sulle textbox fai una for each... if TypeOf MyCtl is TextBox then ....

dieric
08-10-2002, 11:56
perchè con il sendkeys davi il focus ad una label?

No ma inviando un TAB il sistema capisce da solo dove posizionarsi (in base al tabindex)
Quindi come faccio a sapere a chi dare il fuoco?

Non dirmi che dovrei fare un ciclo x tutti i controlli e testare il tabindex perchè penso che questo sistema rallenti il programma
O sbaglio?

darkblOOd
08-10-2002, 12:15
sinceramente dovresti prima vedere se è il sendkeys che crea problemi con w2000 e se è risolvibile, altrimenti cerchi un'altra strada.

Loading