View Full Version : [VB] Chiamata di funzione su un altro Form
VB.NET,
Questo e' il codice che uso per avviare una funzione che si trova su un altro Form del progetto:
MyModule1.Form1.PopoloUrl()
ma mi da errore........
cosa sbaglio???
Che errore ti da? Quando fai la chiamata al metodo, il form è stato creato?
http://forum.html.it/forum/showthread.php?s=&threadid=310920
Si, forse ho capito quello che vuoi fare...
Hai due form, Form1 dove hai una ListView e una funzione pubblica chiamata "PopoloUrlSerch", e Form2 dove mostri il dettaglio del record selezionato sul Form1.
Vorresti fare in modo che dal Form2 sia possibile lanciare l'aggiornamento della ListView del Form1... giusto?
Se è così il problema è che Form2 non conosce l'istanza di Form1, quindi il tentativo da te proposto:
Private Sub btInserisci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btInserisci.Click
Dim f As New Form1()
f.PopoloUrl()
End Sub
non funziona in quanto hai creato una nuova istanza di Form1!!!
Per risolvere il problema puoi fare diverse cose. La più corretta (nel senso OOP) è quella di passare la variabile oggetto di Form1 durante la creazione di Form2.
In Form1:
Dim f As Form2
f = New Form2(Me)
f.Show
In Form2:
'dichiarazione membri
Private m_owner As Form1
'costruttore
Public Sub New(myowner As Form1)
Me.New()
m_owner = myowner
End Sub
...
Private Sub btInserisci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btInserisci.Click
m_owner.PopoloUrl()
End Sub
Ravanando ho scoperto un'altra tecnica, ancora più semplice, che fa uso della proprietà Owner:
In Form1:
Dim f As Form2
f = New Form2()
f.Owner = Me
f.Show()
In Form2:
Private Sub btInserisci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btInserisci.Click
Dim f As Form1
f = Me.Owner
f.PopoloUrl()
End Sub
OK vado a provare subito, molte grazie !!!!!!!!
Scusami ho un problemino che mi fa molto fumare, voglio un semplice form a tutto schermo,
quindi setto la proprieta' "WindowState" su "Maximize"
eseguo il progetto e mi apre un Form a tutto schermo, quindi tutto OK,
mentre se clicco nel'eseguibile che ho creato mi mantiene la dimenzione della grandezza reale del form, cioe:
il mio form e' 800X600px con settato WindowsState=Maximized
il mio monitor e' a 1280X1024px e voglio che sia aperto a tutto schermo non a 800X600px....
come devo fare ???
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.