Passaggio di dati tra windows Form

lunedì 08 maggio 2006 - 14.24

giulyxiano Profilo | Junior Member

Ho un problema:
Da premettre che sto utilizzando Un form Mdi e a seconda del tag di un file xml devo aprire o l'uno ol'altro form.

1)Con una finestra didialogo cerco il file xml
2)e nel form principale ottengo l'elemento rspetto al tag
3)capito qual è il tag, come faccio a passare i dati precedentemente letti nel DOM al relativo Form?

Speriamo che ci sia qualcuno che possa aiutarmi ciao a presto Giuliano.

alx_81 Profilo | Guru

ciao!

il form principale per te è l'mdi?
una form cerca e carica l'xml in un dom nell'mdi?
devi passare i dati dal dom dell'mdi verso la nuova form che aprirai?
ho capito bene?

=)
Alx81 =)

http://blogs.dotnethell.it/suxstellino

giulyxiano Profilo | Junior Member

Si il problema è proprio questo, siccome devo riconoscere due diversi file per una gestione diversa della cosa lo faccio nel form mdi ma poi devo passare i dati al form rispettivo questo non riesco a capire come gli passo i dati ? Ciao a presto

alx_81 Profilo | Guru

Se parti da una voce di menu dell'mdi, ad esempio, basta che, una volta che hai i dati nel DOM, crei l'istanza ad una nuova form impostandola di tipo "form che vuoi aprire"
A questo punto hai visibilità di tutti i campi (di solito i controlli che sposti sulle form sono visibili) e basta mappare i valori direttamente dalla MDI, poi esegui il metodo show per visualizzare la form.

supponi di chiamare la nuova form "prova"

nell'evento del menu che scegli fai:

Dim result As New prova
result.nomecampo.Text = "CIAO" 'per te il nodo XML
result.Show() 'o ShowDialog se la vuoi modale.

spero sia quello che ti serve..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

giulyxiano Profilo | Junior Member

Penso proprio di si e ti farò sapere ...apena l'implemento per il momento un grazie di vero cuore per la disponibilità Giuliano Greco giulyxiano@virgilio.it su msn con la stessa email.

giulyxiano Profilo | Junior Member

Ho provato la cosa e va bene però io dall'Mdi al Form2 non devo passare qualcosa di un controllo
ma l'oggetto Dom intero che ho letto nell'Mdi.

Io con una Privete Sub.....leggo il file xml
xmlDom lo esamino e va bene ma come passo al form2 l'oggetto xmlDom letto nel form Mdi?

Questo è il mio problema....perchè poi nelform2 devo ancora sottoporre il file a delle query capito?
Nella Mdi faccio solo un riconoscimento del file.
Ciao a presto Giuliano Greco

alx_81 Profilo | Guru

Fai un campo public di tipo XmlDocument nella Form2..

Class Form2

Public xmldoc as System.Xml.XmlDocument
...





Nella MDI

Dim myxmldoc As New System.Xml.XmlDocument
myxmldoc.Load("c:\prova.xml")

'creo l'istanza alla Form2 e passo il riferimento dell'xml caricato
Dim myform2 as new Form2
myform2.xmldoc = myxmldoc

ok?
Alx81 =)

http://blogs.dotnethell.it/suxstellino

giulyxiano Profilo | Junior Member

Stavo per vedere una csa del genere cioè definire un oggetto Public a livello di classe per poi vederlo nell'altro form2 comunque adesso vedo grazie.

giulyxiano Profilo | Junior Member

Da premettere che il problema precedente è stato risolto e di questo ti ringrazio, ora volevo proporti quest'altro:

1) ho creato un modulo Sub Main che faccio partire all'inizio dell'applicazione
Sub Main()
Application.Run(New Intro)
End Sub

dove Intro è il mio Form di presentazione

2)Dal form Intro c'è poi un bottone che mi porta ad aprire il Form1 che è il From MDI
e faccio così:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim FormNew As New Form1
FormNew.Show()
End Sub

devo però chiuderela form Intro senza farla comparire nell?MDI come faccio?

alx_81 Profilo | Guru

Basta che nella tua intro, prima di fare la new della Form1, fai Me.close()
Alx81 =)

http://blogs.dotnethell.it/suxstellino

giulyxiano Profilo | Junior Member

Non funziona si chiude il progetto e ritorna nella sezione codice...ma dimmi una cosa se io faccio partire l'aplicazione da Sub Main()
questa sb main dove si trova ? Io l'ho implementata in un modulo, non so se ho fatta bene

alx_81 Profilo | Guru

fossi in te farei come form di startup la MDI, che all'apertura fa partire la tua form di intro. Al click sul bottone della intro, la chiudi..
perchè effettivamente, chiudendo la form iniziale ti chiude il progetto.. =)
Alx81 =)

http://blogs.dotnethell.it/suxstellino

giulyxiano Profilo | Junior Member

Faccio così e funzionerà di sicuro grazie

alx_81 Profilo | Guru

se la risposta ti ha aiutato davvero, ti chiedo di accettare la risposta con l'apposito link, grazie! =)
Alx81 =)

http://blogs.dotnethell.it/suxstellino
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