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
Form chiamante...
sabato 03 maggio 2008 - 09.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
controvento
Profilo
| Newbie
23
messaggi | Data Invio:
sab 3 mag 2008 - 09:55
Salve, scusatemi, ma mi serviva una veloce informazione su una cosa:
Ho una form che non di rado genera errori, così ho creato una seconda form che in caso di eccezione, lancia il messaggio con i 2 pulsanti: PROSEGUI, ANNULLA.
Il pulsante prosegui, deve chiudere ovviamente solo la form di errore, mentre il pulsante errore deve chiudere sia la form di errore che la form che l'ha "attivata"...ovvero quella che genera l'errore...
ecco, la mia domanda è proprio questa...come recupero il nome della form che ha invocato la form di errore?
Grazie a tutti
gaetanodimatteo
Profilo
| Newbie
12
messaggi | Data Invio:
sab 3 mag 2008 - 10:13
Non mi sembra una buona soluzione ma se è questo che ti serve...
puoi iterare attraverso tutte le form aperte fino a quando non trovi la form
con il nome della classe uguale a quello che cercavi.
es.
For Each f As Form In My.Application.OpenForms
If TypeOf f Is Form2 Then ' oppure puoi testare il "text" della form
f.close
exit for ' importante altrimenti viene modificato l'insieme e non si puo più iterare
End If
Next
Comunque io cambierei soluzione esponendo una propiertà readonly per individuare il tasto premuto
e poi regolarmi di conseguenza dalla form chiamante.
Ciao
Gaetano
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
sab 3 mag 2008 - 10:45
>Salve, scusatemi, ma mi serviva una veloce informazione su una
>cosa:
>
>Ho una form che non di rado genera errori, così ho creato una
>seconda form che in caso di eccezione, lancia il messaggio con
>i 2 pulsanti: PROSEGUI, ANNULLA.
>
>Il pulsante prosegui, deve chiudere ovviamente solo la form di
>errore, mentre il pulsante errore deve chiudere sia la form di
>errore che la form che l'ha "attivata"...ovvero quella che genera
>l'errore...
>
>ecco, la mia domanda è proprio questa...come recupero il nome
>della form che ha invocato la form di errore?
>
>Grazie a tutti
Quando istanzi la form di gestione dell'errore, basta che gli passi in reference la form chiamante.
Supponendo che la form chiamante sia denominata Form1 e la form di gestione dell'errore FormError dovrai dichiarare una variabile pubblica di tipo Form nella FormError in questo modo:
Public FormChiamante as Form
Nella form chiamante, quando istanzi FormError dovrai passare a questa variabile la stessa Form chiamante in questo modo:
Dim FrmFormError as new FormError
FrmFormError.FormChiamante = me
FrmFormError.ShowDialog
A questo punto nella FormError, alla pressione del pulstante che deve chiudere anche il form chiamante dovrai inserire il codice per la chiusura anche della form referenziata:
me.Close
FormChiamante.Close
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
controvento
Profilo
| Newbie
23
messaggi | Data Invio:
sab 3 mag 2008 - 23:01
Grande...funziona...GRAZIE!
Solo mi aspettavo che le forme avessero una proprietà che permettese loro di recuperare il padre...è davvero strano, ho scorso tutta la lista delle proprietà di ME e ce ne sono molte che danno qualcosa di simile, ma non sono riuscito ad usarle
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 !