Chiusura form MDI e attivare una funzione di un altro form MDI

sabato 09 giugno 2007 - 15.52

schumy80 Profilo | Newbie

Salve, ho la mia applicazione che ha una form principale "Pippo", dalla quale apro 1 form MDI figlia1....
durante l'esecuzione questa form figlia1 apre una seconda form impostandola sempre come figlia2 della form padre "pippo"....
In questa form2 ad un certo punto alla pressione di un tasto deve essere chiusa e riportare il focus sulla figlia1....

ma dopo che nella form2 faccio un Me.Close, il focus non si sa più dove sia...

tra l'altro dopo il Me.Close dovrei fare attivare una sub della Form1....

Aiutooo!!!!

bluland Profilo | Guru

Ciao,

posta un pò il codice..

saluti
--------------------
Vincenzo PESANTE
System Engineer

schumy80 Profilo | Newbie

Allora con questo codice dalla form principale "FormPrinc" mi creo la prima form figlia1:

Dim frmOrdClie As New FormFatt
frmOrdClie.Text = "Figlia1"
frmOrdClie.MdiParent = Me
frmOrdClie.Show()


dopodichè nella Form Figlia1 ho un bottone Apri (definito dià nella classe FormFatt) che esegue il codice seguente:

Dim frmOff as New FormFatt
frmOff.Text = "Figlia2"

'Me.AddOwnedForm(frmOff) questo ho provato a metterlo ma è uguale

frmOff.MdiParent = FormPrinc
frmOff.btnCopia.Visible=True 'mette visibile un bottone "Copia già definito nella classe FormFatt"
frmOff.Show()

dopodichè si apre la Form Filgia2 e compare questo bottone "Copia" che esegue alcune operazioni e poi fa:

Me.Close

a questo punto come faccio a far eseguite una sub della Figlia1? ossia una funzione interna alla classe FormFatt che riaggiorna il contenuto della Form Figlia 1.
l'oggetto Me sembra che non sia più associato a niente....

Grazie

bluland Profilo | Guru

Quindi in definitiva aggiornare un form creato a run time attraverso la chiusura di un'altro form sempre creato a run time,
bella domanda

beh ci devo pensare, magari nel frattempo qualcuno esperto di win form potrà dare una risposta,
oppure possiamo cercare di trovare un workaround al tuo problema senza scendere in modifiche strutturali del tuo programma, però dovresti descrivermi cosa il tuo sistema software deve fare, in particolar modo per questa tua funzionalità!


saluti
--------------------
Vincenzo PESANTE
System Engineer

alextyx Profilo | Expert

Data l'ora, mi riservo di riesaminare il codice con maggiore lucidità (ho avuto una giornata intensa), tuttavia ci sono molte diverse tecniche per raggiungere lo scopo che ti prefiggi. Una è quella di dichiarare (dichiarare ed istanziare sono cose diverrse) le form a cui dovrai riferirti, in un modulo, come 'public'. Questo ti consentirà di avere sempre un riferimento ad esse, purchè esistano, ovvero purchè sia già stato chiamato il metodo costruttore (new) e non siano ancora state eliminate.
Forse può esserti di aiuto questo link:

http://forum.masterdrive.it/f36/accedere-controlli-form-form-diverso-17291/

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5