Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Focus su controllo Web Form
martedì 20 luglio 2004 - 17.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
mar 20 lug 2004 - 17:39
Come posso eseguire il focus su un controllo su una Web Form, ad esempio posizionare il cursore del mouse su una TextBox da programma?
Ciao, Paolo.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 20 lug 2004 - 23:20
Ciao,
che io sappia non è implementata nativamente in .NET questa funzionalità e quindi bisogna andare di interopereabilità creando un Wrapper della Win32API SetCursorPos() qui documentata. Dovrebbe essere abb. facile:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Resources/Cursors/CursorReference/CursorFunctions/SetCursorPos.asp
saluti
david
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
mer 21 lug 2004 - 09:33
SetCursorPos richiede come parametri la posizione di dove posizionare il cursore mediante le coordinate X e Y. La TextBox di una WebForm non mi sembra che mi ritorni la posizione.
Ciao e grazie, Paolo.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 21 lug 2004 - 12:10
ciao
forse potresti usare javascript in cima alla pagina, tipo:
<script>
document.mioform.miatextbox.focus();
</script>
potresti farla in .net ma scriverla fissa nella parte html....
sts (spero ti serva)
ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 21 lug 2004 - 12:24
Ciao teo,
forse stiamo parlando di Windows Forms.
Per rispondere a secks, il discorso si complica. Allora la SetCursorPost ti sposta il puntatore del mouse ora devi avere le coordinate dove spostarlo ed è un altro paio di maniche.
C'è un'altra API la GetWindowRect o GetClientRect che ti restituisce lo spigolo in alto a sinistra e quello in basso a destra. Praticamente così hai le coordinate e le dimensioni di qualsiasi finestra (ricorda che anche una TextBox viene considerata una finestra)
Poi puoi usare la API ScreenToClient per rimappare le coordinate.
ciao
david
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 21 lug 2004 - 14:49
ehmmm chiedo scusa oggi mi sa che sono 1po fuso...
ciao
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
gio 22 lug 2004 - 08:27
Ho fatto qualche prova secondo le vostre indicazioni che sono molto interessanti, sopratutto per me cha da un ambiente di sviluppo windows sto cercando di capire qualcosa del mondo web, sempre con VB. Cercando in internet ho trovato questa soluzione che mi sembra semplice e funzionante:
Private Sub SetFocus(ByVal ctrl As System.web.ui.Control)
Dim s As String = "<SCRIPT language='javascript'>document.getElementById('" & ctrl.ID & "').focus()</SCRIPT>"
RegisterStartupScript("focus", s)
End Sub
... poi per attivare il cursore del mouse sulla mia TextBox sul load della pagina:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
SetFocus(TextBox1)
End Sub
La SetFocus funziona. Per quel che ho capito non è possibile effettuare il focus del controllo a livello di VB, ma a livello di ASP/HTML il focus viene gestito ... ?
Ciao e grazie.
Paolo
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 22 lug 2004 - 23:24
>La SetFocus funziona. Per quel che ho capito non è possibile effettuare il focus del controllo a livello di VB, ma a livello di ASP/HTML il focus viene gestito ...
Esatto. In un'applicazione Windows ci sono funzioni tipo SetFocus o Focus che spostano subito il focus sul controllo.
Lavorando in modalità diversa l'HTTP non puoi fare le stesse cose quindi devi andare a gestirle via Javascript che ha anch'esso funzioni per portare il focus su alcuni oggetti nella Form (WebForm).
ciao
david
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !