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
App. WinForms / WPF .NET
Apertura form particolare
mercoledì 18 aprile 2012 - 23.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
Lucchinet
Profilo
| Newbie
31
messaggi | Data Invio:
mer 18 apr 2012 - 23:57
Ciao a tutti.
Il titolo non è esplicativo e mi scuso.
Ho questo problema:
Ho 3 form.
Form1 il pricipale, form2 e form3.
Dal form1 chiamo form2, tutto OK.
Dal form2 devo aprire form3 e chiudere form2.
In questo passaggio il compilatore di ma errore su "NullReferenceException" non gestita, solo nel caso in cui la chiamata del form3 avviene tramite il doubleClick su una griglia. Se la stessa porzione di codice viene eseguita tramite un Button o il KeyDown della grigla non avviene.
Non so come aggirare l'ostacolo, visto che il compilatore si blocca quado il debug conclude la sub del DoubleClick e non so se richiama dei metodi della griglia, che non trova più, o meno. In più non dovrebbe fare la stessa cosa con il KeyDown visto che è sempre un metodo della griglia, mentre il Button no?
Grazie per l'aiuto.
InsettoScoppiettato
Profilo
| Junior Member
66
messaggi | Data Invio:
gio 19 apr 2012 - 08:35
L'evento double click su Form2 dovrebbe chiamare un metodo di Form1 che apre Form3. Rendi Form3 figlio di Form1 o comunque fallo partire tha un Thread gestito in un metodo di Form 1.
Alessandro Parma
Programmazione multipla scoposta con prognosi ancora da definire
massimo.missaglia
Profilo
| Newbie
34
messaggi | Data Invio:
gio 19 apr 2012 - 08:55
Ciao,
ma se chiudi il form2 durante la chiamata al form3 non funziona?
Form3 frm3 = new Form3();
frm3.Show();
this.Close();
Massimo Missaglia
-------------------------------
www.MassimoMissaglia.com
Lucchinet
Profilo
| Newbie
31
messaggi | Data Invio:
gio 19 apr 2012 - 12:55
Il problema non è nelle due motodologie. Funzionano entrambe.
L'errore me lo genera soltanto se l'apertura del Form3 avviende nell'evento DoubleClick della griglia.
Se lo stesso codice, duplicato per testare l'evento, avviene con l'evento Click del Button o KeyDown della griglia, l'errore non avviene, come se l'evento DoubleClick della griglia richiamasse altri metodi al suo interno alla conclusione del suo evento appunto DoubleClick e non trovando più allocato il Form2 e relativi oggetti, va in errore.
Se dall'evento DoubleClick richiamo l'evento Click del Button, l'errore si presenta comunque, a confermare che la griglia dopo l'esecuzione dell'evento DoubleClick richiami altri metodi al suo interno.
Proverò a posticipare l'evento di chiusura con un timer per permettere alla griglia di sbrigare i suoi cazzi.
Vi farò sapere se ho risolto con questo strano modo.
Chi avesse idee o soluzioni non esiti a postarle.
Grazie mille per l'aiuto.
InsettoScoppiettato
Profilo
| Junior Member
66
messaggi | Data Invio:
gio 19 apr 2012 - 13:55
Il DblClick sulla griglia dove lo fai, sulle celle?
Che eventi sostiene la griglia? OnFOcus()?
Se entri in modifica sulle celle col doppio click poi hai comunque la generazione di un evento sulle celle che vengono modificate, ammesso che tu ne abia definito qualcuno.
Senza codice è dura verificarlo. Puoi dire quali eventi hai coperto?
Puoi ance controllare con un bpoint alla fine dell'evento dblclick quando esci da quella routine?
Alessandro Parma
Programmazione multipla scoposta con prognosi ancora da definire
Lucchinet
Profilo
| Newbie
31
messaggi | Data Invio:
gio 19 apr 2012 - 20:33
Allora, della griglia uso solo gli eventi Click, DoubleClick e KeyDown.
Nella griglia non posso selezionare le celle ma solo le righe.
Fino all'esecuzione dell'ultima riga di codice del DoubleClick funziona tutto bene, ma quando avanzo con il debug riga a riga, all'uscita dall'evento genera l'errore.
Ho testato la cosa utilizzando un timer con 1/2 secondo di ritardo, azionato come ultima funzione del DoubleClick e al generare dell'evento tick, mi chiude il form perfettamente senza errori, quindi il problema è proprio in funzioni interne che la griglia svolge alla conclusione del DoubleClik.
Appunto il fatto che utilizzo una Griglia XtraGrid della DevExpress (mi sono dimenticato di menzionarlo prima).
InsettoScoppiettato
Profilo
| Junior Member
66
messaggi | Data Invio:
ven 20 apr 2012 - 11:33
Non conosco XtraGrid, ma immagino che abbia bisogno di un dispose custom in modo che le risorse vengano deallocate correttamente.
Prova a guardare chosa prevede quella classe sul sito di DevExpress riduardo al Disposing.
Alessandro Parma
Programmazione multipla scoposta con prognosi ancora da definire
Lucchinet
Profilo
| Newbie
31
messaggi | Data Invio:
ven 20 apr 2012 - 22:30
Non ci avevo pensato, funziona benissimo usando il dispose nell'evento DoubleClick .
Grazie per la dritta.
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 !