[# ] finestra nascosta

martedì 03 febbraio 2009 - 16.36

schumy2000 Profilo | Junior Member

Ho creato un programmino in un palmare tramite il .net compact framework
Ho una finestra a tutto schermo e un'altra che mi si apre come "popup".

Se clicco sulla finestra a tutto schermo(form principale) mentre quella a "popup" è attiva, questa mi si nasconde sotto il form principale e se la richiamo con la new mi crea un'altra finestra analoga.

Come posso far capire al programma che non mi deve creare un'altra finestra bensì andare a prendere quella nascosta sotto il form principale?

Grazie x ogni eventuale aiuto.

-------------------------------------------------------------------------------------------------------------
Talvolta un pensiero mi annebbia l'Io: sono pazzi gli altri o sono pazzo io?
A. Einstein

alx_81 Profilo | Guru

>Come posso far capire al programma che non mi deve creare un'altra
>finestra bensì andare a prendere quella nascosta sotto il form
>principale?
Ciao,
come crei la popup? postaci il codice.
Probabilmente è sufficiente crearla come modale, in modo che clickando sulla form principale nemmeno ti si nasconde.

>Grazie x ogni eventuale aiuto.
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

schumy2000 Profilo | Junior Member

ChangePassword changePssw = new ChangePassword(x, y);//Form figlio
changePssw.ShowDialog();
-------------------------------------------------------------------------------------------------------------
Talvolta un pensiero mi annebbia l'Io: sono pazzi gli altri o sono pazzo io?
A. Einstein

alx_81 Profilo | Guru

>ChangePassword changePssw = new ChangePassword(x, y);//Form figlio
>changePssw.ShowDialog();
ok, già il metodo showDialog rende la form modale.
Prova, prima di lanciarlo, ad assegnare la proprietà Owner alla form dalla quale crei la changgePassword.
Una cosa tipo:

ChangePassword changePssw = new ChangePassword(x, y);//Form figlio changePssw.owner = <istanza della form da cui lanci la popup>; changePssw.ShowDialog();
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

schumy2000 Profilo | Junior Member

beh il problema e che quando creo la changepassword chiudo la finestra proprietaria...e quindi non posso impostare come owned quella finestra che ormai è morta e sepolta....
a questo punto dovrei impostare il form principale come owned ma non ho alcun collegamento con quel form...


infatti se metto come changePassword.owner=this mi da:

Control.Invoke must be used to interact with controls created on a separate thread.

-------------------------------------------------------------------------------------------------------------
Talvolta un pensiero mi annebbia l'Io: sono pazzi gli altri o sono pazzo io?
A. Einstein

alx_81 Profilo | Guru

>beh il problema e che quando creo la changepassword chiudo la
>finestra proprietaria...e quindi non posso impostare come owned
>quella finestra che ormai è morta e sepolta....
>a questo punto dovrei impostare il form principale come owned
>ma non ho alcun collegamento con quel form...
Eh allora la form che crei è la modale di nulla , quindi non so se poi riesci a portarla in primo piano..
Dovresti provare a cercare fra i controlli figli della form se esiste la tua popup. Se esiste ne fai ancora la show..
Prova a scorrere la collection Control della form principale o a fare una findcontrol. Se non la trovi proprio non saprei come trovare una form orfana..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5