[vb.net]voir une variable dans une classe classe

voir une variable dans une classe classe [vb.net] - C#/.NET managed - Programmation

Marsh Posté le 01-04-2005 à 13:27:06    

Voici mon Code :  
 
Code:  
Imports System  
Imports System.Drawing  
Imports System.Windows.Forms  
Imports System.ComponentModel  
Imports System.Drawing.Drawing2D 'cette bibliothèque sert à faire les pointillés  
Imports System.Collections 'pour gérer les collections  
 
 
Public Class AgendaGrid  
     
   Inherits ContainerControl    
     
   Public GridX As Int16 = 0  
     
   Public Sub New()        
      MyBase.New  
      Me.BackColor = Color.Chartreuse  
   End Sub  
     
   Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)  
      Dim Toto As LabelSpecial  
      Toto = New LabelSpecial  
      Toto.Top = e.Y  
      Toto.Left = e.X  
      Me.Controls.Add(Toto)  
 
 
                                Dim Toto2 As LabelSpecial2  
      Toto2 = New LabelSpecial2  
      Toto2.Top = e.Y + 50  
      Toto2.Left = e.X + 50  
      Me.Controls.Add(Toto2)  
 
   End Sub  
 
End Class  
 
 
Public Class LabelSpecial  
     
   Inherits Label  
 
   Public Sub New()        
      MyBase.New  
       
      GridX = GridX + 1  
       
      Me.BackColor = color.Azure  
      Me.Width = 30  
      Me.Height = 30  
   End Sub  
     
End Class  
 
 
Public Class LabelSpecial2  
     
   Inherits Label  
 
   Public Sub New()        
      MyBase.New        
   End Sub  
     
End Class  
 
 
Je voudrais que la variable GridX soit lisible dans la classe LabelSpecial  
mais pas dans la classe LabelSpecial2 : comment faire ?

Reply

Marsh Posté le 01-04-2005 à 13:27:06   

Reply

Marsh Posté le 06-04-2005 à 15:49:45    

Si vraiment ça a un sens fonctionnel ce que tu veux, il faut revoir ton héritage, avec une classe LabelOuJeVoisGridX et une autre classe LabelOuJeVoisPasGridX, puis dériver de la bonne, et mettre GridX Protected pour que seule les classes qui dérivent de la classe AgendaGrid "voient" (on dit visible, pas lisible) GridX. Mais à mon avis, ça a pas de sens ce que tu veux faire. Faudrait que LabelOuJeVoisGridX dérive de AgendaGrid, ça me parait pas la bonne solution.
 
Bon courage !

Reply

Marsh Posté le 06-04-2005 à 15:53:58    

Une instance de AgendaGrid  dans LabelSpecial. Et surtout vire-moi cette variable public, met-la en private et utilise une propriété

Reply

Marsh Posté le 06-04-2005 à 16:08:19    

toi aussi tu te fais chier à ton boulot pr répondre après tous mes posts comme ça !!! :)

Reply

Marsh Posté le 06-04-2005 à 16:10:08    

lol :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed