Passaggio dati tra form Padre e Figlio

venerdì 30 giugno 2006 - 09.07

mmjc23 Profilo | Newbie

Buon giorno

Ho una domanda riguardante il passaggio di dati e l'utilizzo di metodi tra form padre e form figli.

Ecco lo scenario:

Form padre: frmP
Form Figlio: frmF1
Form "nipote": frmN1 (figlio di frmF1)


frmP è il form principale che instanzia una classe che accede al database; sia da frmF1 che da frmN1 ho bisogno di accedere al database.

la domanda e questa:

E' più corretto/elegante passare per riferimento nel costruttore ai form figli i form padre e chiamare direttamente i metodi di quest'ultimo oppure scatenare eventi dai form "nipote" che vengono intercettati dai form figli che vengono poi intercettati ed eseguiti dal form padre?

Esempio:


Metodo 1)

FormNipote riceve nel costruttore un puntatore a frmF1 (suo padre)
frmF1, a sua volta, aveva ricevuto nel suo costruttore frmP nella stessa modalità.

private sub FormNipote_Button1_Click(....) handles button1.Click 'Alla pressione del tasto, carica info dal database dim MiaTabella as datatable= frmF1.FrmP.CaricaInfoDaDB 'Visualizza ecc... ... end sub

Metodo 2)


'Nel "NIPOTE" private sub FrmN1_Button1_Click(....) handles button1.Click 'Alla pressione del tasto, carica info dal database dim MiaTabella as datatable raiseevent CaricaTabella(MiaTabella as datatable) 'Visualizza ecc... ... end sub 'Nel "FIGLIO" private sub GetCaricaTabella (byref MiaTabella as datatable) handles frmN1.CaricaTabella raiseevent CaricaTabella(MiaTabella as datatable) end sub 'Nel "PADRE" private sub GetCaricaTabella (byref MiaTabella as datatable) handles formF1.CaricaTabella synclock sqlmanager SqlManager.CaricaTabella(miatabella) end synclock end sub


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