Passare form ad un modulo

martedì 13 aprile 2010 - 14.44

roberto9911 Profilo | Newbie

Ciao
Vorrei fare un modulo (in vb6 erano i .bas per capirci) che riceva come parametro anche un form in modo da aggiornare direttamente dal modulo i campi del form (ad esempio una listview)

Ad esempio dentro al form1 chiamo la sub
call xxx(me)
e sul modulo definisco
public sub xxx (formxx as forms.form)
formxx.label1.text = "inizioprogramma"
end sub
ho provato a definire il form del modulo come "as form" oppure "as Windows.Forms.Form" oppure "as System.Windows.Forms.Form" ma non funziona, .net 2003, non riconosce o i campi del form o il tipo form

E' possibile fare questo passaggio di form con un modulo o no?

Cimperiali Profilo | Newbie

certo che è possibile. Ma a me non pare una buona idea: meglio una classe che si occupi del tuo form, magari con alcuni metodi "statici" (in vb sono le routine Shared ) tipo la CreateForm. Ricorda che un modulo in net non è altro che una classe shared nothineritable
Comunque, se proprio ci tieni:
!!!!!!
EDIT
se invece intendevi la chiamata secca dalla variabile frm ai campi, il codice per la tua routine nel modulo è
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
!!!!!
Module Module1 Public Sub DoFormJob(ByVal frm As Form) For Each ctl As Control In frm.Controls Debug.Print(ctl.Name) If TypeOf ctl Is Label Then ElseIf TypeOf ctl Is TextBox Then ctl.Text = ctl.Name ElseIf TypeOf ctl Is ListView Then End If Next End Sub End Module

e poi nel form:
Call DoFormJob(Me) 'o anche 'Call Module1.DoFormJob(Me)

Magari dai un nome più intelligente al modulo...
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