Newsgroup: it.comp.lang.visual-basic
Titolo: Disattivare gli eventi

Ciao a tutti.
Avrei bisogno di disabilitare la generazione di tutti gli eventi su uno
specifico form.
Ho provato con nomeform.Enabled=False pero' ho visto che tantissimi eventi
vengono ancora generati anche se il form e' disabilitato (keypress, keyup,
ecc. per non parlare poi dei controlli Timer).
Che voi sappiate esiste un metodo piu' rapido (e soprattutto elegante) del
disattivare esplicitamente ogni timer e di mettere un controllo su ogni
evento?
Fabio

 ecc. per non parlare poi dei controlli Timer).
Per gli eventi del form prova a mettere Me.Enabled = False nell'evento 
Activate.
Non so perchè mettendolo a design o nel Form_Load non funzioni 
correttamente (credo sia un buco)
Per i timer invecie non c'è verso.
Fai un loop sui controlli del form e se sono di tipo timer li disabiliti.
Come fare questo loop è stato discusso giusto ieri nel thread di Lupo 
che parla di controlli contenuti in un frame.
Ciao

 Fai un loop sui controlli del form e se sono di tipo timer li disabiliti.
Immaginavo. Grazie comunque
Fabio

     form_chiamante.SetFocus
Lo usavo anch'io quando lavoravo ad un progetto di visione (non è che 
per caso sia lo stesso eh? ;) ) e non ci eravamo mai accorti di questo 
problema.
Prova così:
     form_chiamante.Enabled = False
     nuovo_form.Show vbModeLess, form_chiamante
     Do
                DoEvents
     loop until nuovo_form e' stato scaricato
     form_chiamante.Enabled = True
     form_chiamante.SetFocus
Ciao

      form_chiamante.SetFocus
Idea interessante ma niente da fare. Alla fine mi sa tanto che mi terro' il
buon vecchio nuovo_form.show vbModal
Grazie ancora. Ciao
Fabio

 buon vecchio nuovo_form.show vbModal
Sarebbe comunque meglio, dato che il DoEvents impegna il processore e 
rallenta tutto il sistema.
Quando hai 3 form aperte con quel sistema il rallentamento è sensibile.
Ciao


Con il mio VB6+SP5 non e' cosi'. Boh!
Fabio
http://www.codice.it

 Con il mio VB6+SP5 non e' cosi'. Boh!
prova a verificare lo stile del bordo della form.
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo


e' il default : BorderStyle=2  (sizable)
comunque anche con tutti gli altri stili e' la stessa cosa.
Fabio
http://www.codice.it

 
E' impossibile.
Prova con un progetto nuovo e vedrai.
Probabilmente c'è qualcosa d'altro.
Ciao

 comunque anche con tutti gli altri stili e' la stessa cosa.
hai ragione, mi confondevo con la situazione contraria: se a una form non
modale assegni il bordo fixed modal, non compare in taskbar


 Probabilmente c'è qualcosa d'altro.
ho appena provato anche io, e effettivamente se apro una form modale questa
non compare nella taskbar


 questa non compare nella taskbar
Qui è spiegato bene che non è possibile senza usare api varie.
http://tinyurl.com/372xd
Ed è spiegato anche come usare le API :)
termoPilucco

 Ed è spiegato anche come usare le API :)
Mhhh. l'ho provato.
Funzionerà anche bene in fase di esecuzione, ma in fase di debug fa crashare
VB come farebbe  un antivirus con un trojan.
termoPilucco


Effettivamente come sistema non e' che mi piacesse piu' di tanto
Fabio
http://www.codice.it

 per rispondere... togli il group dall'indirizzo
Ooops. Scusate
Fabio
http://www.codice.it

 che non compaiono nella task bar.
Non compaiono per uno specifico motivo: non è necessario! :-)
Un click sul pulsante dell'applicazione nella taskbar riporta immediatamente
in primo piano il form modale.
Byee

 in primo piano il form modale.
Ooops... non avevo letto il "NON compaiono nella taskbar" :P
Comunque personalmente ODIO le applicazioni che mi mettono un bottone 
per ogni finestra che aprono (vedi config. default di access2000 che 
piazza un bottone per ogni tabella aperta)
Ciao