2010-06-14 11 views

Répondre

0

Vous pouvez accéder à une seule variable depuis n'importe quel formulaire, s'il est déclaré public.

Si vous le définissez dans form1 et que vous souhaitez l'utiliser dans form2, vous pouvez appeler la variable comme suit à partir de l'intérieur de form2: - form1. < variable_name>

Prenez un exemple-

Code Form1

Public Class Form1

Public a As Integer = 10 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Form2.Show() 
End Sub 

End Class

Form 2 Code Classe publique Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    MsgBox(Form1.a) 
End Sub 

End Class

4

En bref, oui. Vous pouvez avoir une variable globale dans un fichier de module (.mod) ou un fichier de classe (.vb).

Module Module2 

    Public variable As String = "Testing" 

End Module 
0

Oui, cela peut être fait. Si vous le déclarez comme shared, il existera dans une seule instance.

Public Class SomeClass 

    Public Shared SomeField As String 

End Class 

Je voudrais cependant recommander d'envelopper l'accès au champ dans une propriété:

Public Class SomeClass 

    Private Shared _someValue As String 
    Public Shared Property SomeProperty() As String 
     Get 
      Return _someValue 
     End Get 
     Set(ByVal value As String) 
      _someValue = value 
     End Set 
    End Property  

End Class 

en l'enveloppant dans une propriété, vous sera plus facile de résoudre les problèmes autour de la valeur en cas tels des scénarios apparaîtraient dans le futur.

+0

Bon point, oublié de «Partagé». –

1

Déclarez une variable comme ceci:

Public Shared myVariable as Type 

et d'y accéder de toute forme.

0

Ce que vous cherchez est le "modèle singleton".

Mais d'abord, vous devriez vous demander si vous en avez vraiment besoin. Peut-être que cette variable pourrait être passée en paramètre d'une fonction ou d'une propriété.

0

Utilisez

Public x As Integer 

Sur l'une des formes et quand vous voulez utiliser cette variable sur un autre formulaire, vous pouvez alors saisir le nom du formulaire et puis un point, puis le nom de la variable

comme ceci

form1.x 

À la votre !!!

Questions connexes