Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Chiamare una Public Sub da un altro Form
Forum - C# / VB.NET - Chiamare una Public Sub da un altro Form

Avatar
lallo (Normal User)
Newbie


Messaggi: 2
Iscritto: 02/08/2016

Segnala al moderatore
Postato alle 9:54
Martedì, 02/08/2016
Buongiorno a tutti, ho un problema e vorrei un aiutino se possibile; sino a un mese fa scrivevo codice con Visual Basic 2010 (express) e spesso funzionava, poi ho deciso di passare a Visual Basic 2015 e non riesco più a scrivere come prima. Mi spiego meglio con un esempio:

Nel Form1:
Public Class Form1
   Public Stringa as String
   Public Sub Scrivi
      TextBox1.Text=Stringa
   End Sub
End Class

Nel Form2:
Public Class Form2
    Private Sub ButScrivi_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButScrivi.Click
      Form1.Stringa="Pippo"
      Form1.Scrivi
    End Sub
End Class

Tutto questo in VB 2010 funziona senza problemi ma in VB 2015 no:
riesco a scrivere Form1.Stringa="Pippo" ma non riesco a richiamare il metodo Scrivi con Form1.Scrivi....come mai?

Grazie

PM Quote
Avatar
lallo (Normal User)
Newbie


Messaggi: 2
Iscritto: 02/08/2016

Segnala al moderatore
Postato alle 12:15
Martedì, 02/08/2016
Ho fatto un passo avanti: credo di aver capito che è l' 'Intellisense' (correggetemi se sbaglio, per favore) che non mi aiuta perchè forzando la scrittura del codice

Form1.Scrivi

il compilatore compila senza errori e soprattutto il codice funziona!

Mi rimane il dubbio di non scrivere correttamente...

Consigli?

Grazie

PM Quote
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 17:15
Sabato, 27/08/2016
posso consigliarti di usare le proprietà per passare valori da una classe all'altra e non direttamente le variabili pubbliche come hai fatto

in VS 2015 puoi usare la forma compatta per la dichiarazione di una proprietà

Public Property Stringa As String
Public Sub Scrivi
      TextBox1.Text = Me.Stringa
End Sub

inoltre anche i form nel .net sono delle classi quindi impara a considerarli come tali quando li crei

Dim frm As New Form1
frm.Stringa = "Pippo"
frm.Scrivi
frm.Show()


Ultima modifica effettuata da ampeg il 27/08/2016 alle 17:19
PM Quote