Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    evento keydown non funziona

    premetto di aver importato nel code behind il windows.system.form()

    vorrei intercettare la pressione del tasto in finestra applicativo...ho copiato e incllato questo codice...

    Private Sub Form1_KeyDown(ByVal sender As Object, _
    ByVal e As KeyEventArgs) Handles MyBase.KeyDown
    ListBox1.Items.Add(e.KeyCode)
    e.Handled = False
    End Sub

    mi restituisce errore in compilazione.....

    come si puo intercettare correttamente la pressione di un tasto su un cotnrollo?

    grazie

  2. #2
    NON conento...sono andato a spulciare direttamente su Microsoft....dice che dalla form, E' POSSIBILE INTERCETTARE I TASTI PREMUTI....ho copiato paro paro il codice....mi da errore alla riga dove e' contenuto me.keypress (e cmq l'evento form1_keypress non viene visto in automatico.....)

    ecco il link...per favore aiutatemi

    http://msdn.microsoft.com/it-it/library/ms171538.aspx

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ho copiato quel codice e va perfettamente (in una windows form, naturalmente )

    Pietro

  4. #4
    ciao pietro...
    un sec ma te x windows form intendi un applicativo vero e proprio???

    perche io sto palrando di sito web...e mi sa che le cose so un po diverse....

    se faccio nuovo progetto --> applicazione windows form --> il codice va

    io pero sto facendo un "sito web" e li e' il problema...pare che asp.net nn supporti piu gli eventi keypress e keydown...infatti da proprio errore in compilazione...

    mi dicono che per intercettare la presisone del tasto devo usare Jquery (che nn so cosa sia) .................sto diventando matto

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    scusa perche' hai importato windows.system.form() ?

    Jquery è una cosa che scopri se clicchi qui: http://bit.ly/tW17Us

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da danielsan27
    ciao pietro...
    un sec ma te x windows form intendi un applicativo vero e proprio???

    perche io sto palrando di sito web...e mi sa che le cose so un po diverse....

    se faccio nuovo progetto --> applicazione windows form --> il codice va

    io pero sto facendo un "sito web" e li e' il problema...pare che asp.net nn supporti piu gli eventi keypress e keydown...infatti da proprio errore in compilazione...

    mi dicono che per intercettare la presisone del tasto devo usare Jquery (che nn so cosa sia) .................sto diventando matto
    Per intercettare gli eventi di una pagina web, qualunque sia (asp, aspx, php, pinco_pallino ), si deve usare javascript, non jquery. Ossia, una pagina risponde agli eventi lato client, non server. jquery è una libreria javascript, come ce ne sono altre mille, forse migliori.

    ps. ci sono delle guide in html.it che spiegano gli eventi in javascript.
    Pietro

  7. #7
    capito....
    ma per inciso...ho questo problema...devo premere un tasto sulla mia benedetta pagina (e in javascript lo so fare
    e da li..se il tasto è premuto devo poter settare visible = true su un paio di panel asp.net che ho messo.....

    sta benedetta cosa nn mi riesce di fare............


  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ma non ti serve andare al server per nascondere un div (a meno che non ci devi andare per altre ragioni).
    Non basta fare, lato client:

    se si verifica evento allora metti lo stile display=none al div
    Pietro

  9. #9
    Allora ti spiego la meccanica di funzionamento cosi è tutto piu chiaro...
    nella mia pagina Web ho una tabella riempita via sql..una tabella con molte righe che nn sta dentro a una pagina web..che cmq non puo scorrere su e giu (non e' previsto il mouse...a meno che la vertical bar si possa pilotare in maniera diffenrete.....)Allora l'idea è quella di suddividere la tabella in 4 tabelle piu piccole, ognuna dentro ad un panel, e solo uno di questi panel e' visibile alla volta.
    Io vorrei semplicemente mentre vedo il panel1 (quindi la 1 tabella) premere un tasto (esempio PG_DN) e far si che panel1.visible= false e panel2.visible=true. Comprendi?

    Ora il problema sorge quando allo stato inziale mi trovo il primo panel impostato come visibile e gli altri no, mi spiego melgio: se da javascript gestisco l'evento pressione tasto..riesco a settare la porpireta di panel1 a mio piacimento PERCHE e' DI FATTO VISIBILE.....GLI ALTRI PANEL SICCOME NN SONO VISIBILI NON SONO DISEGNATI VIA HTML QUINDI NON SONO "manipolabili" via jscript....
    TUTTO QUESTO perche asp.net in una web apllication NON PREVEDE GLI EVENTI KEYPRESS E KEYDOWN...senno accedevo facilmente a tutti gli oggetti......

    Ho provato ad aggirare la cosa mettendo un campo HIDDENFIELD sempre "visibile" in modo da poterlo sempre manipolare via jscript..e testandone il controllo sull'evento caricamento pagina diretamente in asp.net....il problema è che l'evento caricamento pagina vien fatto una volta solamente (per capirci la prima volta che mi disegna la 1 tabella dove ovviaemnte non ho ancora premuto il tasto pg_dwn) .....se premo il tasto pg.dwn mi parte l'evento javascript che mi setta il campo HIDDEFIELD a dovere....MA IL CONTROLLO SU QUESTA VARIBILE (e i relativi settaggi dei panel visible true e false...) non lo si puo fare piu "in automatico" sulla page_load (che e' gia avvenuto prima)...funziona solo se metto il codice dentro a un tasto...cosa ovviamente improponibile....

    questo è il mio problema..sul quale sono femro da 3 giorni ormai...sto realmente pensando di fare 4 pagine web e di fare 4 differenti sottoquery....nn so piu cosa fare...

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ammesso di avere capito bene, sembra che si possa fare tutto con javascript.
    Praticamente uso n div ognuno riempito lato server. Tutti, tranne uno, hanno l'attributo display uguale a block; uno ha quell'attributo impostato a none.

    Adesso si può ricorrere a javascript (o ad una qualunque libreria, tipo jquery per esempio), per rendedere visibile il div interessato.
    Un'idea potrebbe essere quella di mettere un id sequenziale ai div, tipo: div_1, div_2, div_n e utilizzare una variabile che contenga il suffisso di questo id: 1, 2, n.

    Con javascript è facile trovare tutti gli elementi il cui id inizia per div_. Per trovare il suffisso basta utilizzare le funzioni di stringa.
    Una volta che voglio andare avanti-indietro nella visualizzazione, cerco il valore della variabile, la incremento-decremento e, con document.getElementById("div_" + variabile). etc. ne modifico la visibilità........

    Insomma, un po' di lavoro e si risolve

    ps. se non ho mouse, nè tasto numerico, la vedo un po' dura.




    ps. ps. è chiaro che l'attributo visible server, non deve essere usato.



    ps. ps. ps. Pensandoci bene, perchè non prendere in considerazione l'idea di usare ajax?

    si usa un solo div e, con l'evento scatenato da un tasto, si lancia una chiamata ajax che popola l'unico div.
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.