Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Nuovo form a runtime da modulo
Forum - C# / VB.NET - [VB.NET] Nuovo form a runtime da modulo - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:12
Domenica, 07/06/2009
Codice sorgente - presumibilmente VB.NET

  1. Module Module1
  2.     Public WithEvents NuovoForm As Form
  3.     Public WithEvents NuovoButton As Button
  4.  
  5.     Public Sub CreaNuovoForm() 'Questa sub potrà essere richiamata da qualsiasi form
  6.         NuovoForm = New Form
  7.         NuovoButton = New Button
  8.  
  9.         NuovoButton.Location = New Size(20, 20)
  10.         NuovoButton.Size = New Size(50, 30)
  11.         NuovoForm.Controls.Add(NuovoButton)
  12.         NuovoForm.Show()
  13.     End Sub
  14.  
  15.     Public Sub NuovoButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NuovoButton.Click 'Qui ti ho fatto un esempio di gestione dell'evento Click del NuovoButton
  16.         MsgBox("ciao")
  17.     End Sub
  18. End Module


PM Quote
Avatar
samehada (Normal User)
Newbie


Messaggi: 10
Iscritto: 06/06/2009

Segnala al moderatore
Postato alle 17:00
Domenica, 07/06/2009
Ok pero mi da errore, il compilatore mi dice di sostituire public con dim e di togliere WithEvents
secondo lui il codice dovrebbe essere:

Codice sorgente - presumibilmente VB.NET

  1. Dim WithEvents NuovoForm As Form
  2.             Dim WithEvents NuovoButton As Button
  3.  
  4.         NuovoForm = New Form
  5.         NuovoButton = New Button
  6.  
  7.         NuovoButton.Location = New Size(20, 20)
  8.         NuovoButton.Size = New Size(50, 30)
  9.         NuovoForm.Controls.Add(NuovoButton)
  10.         NuovoForm.Show()



non so

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 17:05
Domenica, 07/06/2009
Se ti dà questo errore vuol dire che non lo stai scrivendo nel Modulo (come avevo scritto io) ma in un metodo

PM Quote
Avatar
samehada (Normal User)
Newbie


Messaggi: 10
Iscritto: 06/06/2009

Segnala al moderatore
Postato alle 17:20
Domenica, 07/06/2009
XD è vero, che nabbata
cmq il nuovo form ed il pulsante, che sono due variabili, occupano sempre memoria, o vengono create solo quando chiedo di creare il form?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 17:28
Domenica, 07/06/2009
Testo quotato

Postato originariamente da samehada:
cmq il nuovo form ed il pulsante, che sono due variabili, occupano sempre memoria, o vengono create solo quando chiedo di creare il form?


Non so come sia la situazione riguardo alla memoria, perchè è vero che le variabili NuovoForm e NuovoButton vengono dichiarate subito nel modulo, ma viene assegnato loro un valore solo al richiamo della sub.

PM Quote
Avatar
samehada (Normal User)
Newbie


Messaggi: 10
Iscritto: 06/06/2009

Segnala al moderatore
Postato alle 18:09
Domenica, 07/06/2009
Cmq penso che se all'evento nuovoform.closed nuovoform = nothing il gc rilascia gli oggetti ad esso assegnati, se nn subito in poco tempo, in teoria...

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:25
Lunedì, 08/06/2009
Sì lo rilascia. Conta che con quel codice puoi creare un solo form alla volta: se lo richiami due volte, il primo verrà distrutto.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo