Contrôle Line pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

Le contrôle Line dans Visual Basic 6.0 n'a aucun équivalent dans Visual Basic 2008. Toutefois, vous pouvez utiliser des méthodes graphiques pour obtenir les mêmes résultats ou vous pouvez utiliser le contrôle facultatif LineShape de Visual Basic Power Packs.

Différences conceptuelles

Dans Visual Basic 6.0, le contrôle Line offre un moyen facile de dessiner des lignes sur un formulaire au moment du design. Le contrôle Line est un "contrôle léger", c'est-à-dire qu'il n'a pas de handle Windows, également appelé HWnd.

Dans Visual Basic 2008, il n'existe aucun équivalent pour le contrôle Line et les contrôles légers ne sont plus pris en charge. Toutefois, il existe des méthodes permettant de dessiner des lignes sur un formulaire au moment du design et au moment de l'exécution.

Remarque :

Les contrôles facultatifs de Visual Basic Power Packs incluent les contrôles LineShape, OvalShape et RectangleShape qui permettent de remplacer les contrôles Line et Shape. En plus de dupliquer le comportement des contrôles Line et Shape de Visual Basic 6.0, ces contrôles ajoutent de nouvelles fonctions. Celles-ci incluent les dégradés, la sélection de moment de l'exécution et les événements au moment de l'exécution.

Vous pouvez télécharger Visual Basic Power Packs à la page Microsoft Visual Basic 2005 Power Packs du site Web MSDN.

Au moment du design, vous pouvez dessiner une ligne verticale ou horizontale sur un formulaire en ajoutant un contrôle Label et en affectant une chaîne vide à la propriété Text, None à la propriété BorderStyle et la valeur 1 à la propriété Width ou Height.

Au moment de l'exécution, vous pouvez dessiner des lignes verticales, horizontales ou diagonales sur le gestionnaire d'événements Paint d'un formulaire en créant un nouvel objet Graphics et appelant ses méthodes.

Dans Visual Basic 6.0, vous pouvez utiliser un contrôle Line pour dessiner une ligne sur un contrôle conteneur tel qu'un contrôle PictureBox ou Frame en ajoutant un contrôle Line au conteneur.

Dans Visual Basic 2008, vous pouvez obtenir le même effet en appelant la méthode DrawLine dans l'événement Paint du contrôle conteneur.

Modifications du code pour le contrôle Line

Les exemples ci-dessous illustrent les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.

Dessin de lignes horizontales ou verticales

Le code suivant illustre comment dessiner des lignes horizontales et verticales sur un formulaire au moment de l'exécution. Dans l'exemple Visual Basic 6.0, le contrôle Line est utilisé ; considérez que deux contrôles Line ont été ajoutés au moment du design. L'exemple Visual Basic 2008 illustre deux méthodes : l'utilisation d'un contrôle Label et l'utilisation des méthodes Graphics.

Remarque :

Dans Visual Basic 6.0, l'unité de mesure par défaut correspond à des twips ; dans Visual Basic 2008, il s'agit de pixels.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Draw a horizontal line 200 twips from the top of the form.
    Line1.X1 = 0
    Line1.X2 = Me.Width
    Line1.Y1 = 200
    Line1.Y2 = 200
    Line1.BorderColor = vbRed
    Line1.BorderWidth = 1
    ' Draw a vertical line 200 twips from the left of the form.
    Line1.Y1 = 0
    Line1.Y2 = Me.Height
    Line1.X1 = 200
    Line1.X2 = 200
    Line1.BorderColor = vbBlue
    Line1.BorderWidth = 1
' Visual Basic
' Using Label controls.
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
    Dim Line1 As New System.Windows.Forms.Label
    Dim Line2 As New System.Windows.Forms.Label
    ' Draw a horizontal line 14 pixels from the top of the form.
    Line1.Location = New System.Drawing.Point(0, 14)
    Line1.Size = New System.Drawing.Size(Me.Width, 1)
    Line1.BorderStyle = BorderStyle.None
    Line1.BackColor = System.Drawing.Color.Red
    Line1.Text = ""
    Controls.Add(Line1)
    ' Draw a vertical line 14 pixels from the left of the form.
    Line2.Location = New System.Drawing.Point(14, 0)
    Line2.Size = New System.Drawing.Size(1, Me.Height)
    Line2.BorderStyle = BorderStyle.None
    Line2.BackColor = System.Drawing.Color.Blue
    Line2.Text = ""
    Controls.Add(Line2)
End Sub
' Visual Basic
    ' Using Graphics methods.
Private Sub Form1Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    ' Draw a horizontal line 28 pixels from the top of the form.
    e.Graphics.DrawLine(Pens.Red, 0, 28, Me.Width, 28)
    ' Draw a vertical line 28 pixels from the left of the form.
    e.Graphics.DrawLine(Pens.Blue, 28, 0, 28, Me.Height)
End Sub

Dessin d'une ligne diagonale

Le code ci-dessous montre comment tracer une ligne diagonale sur un formulaire au moment de l'exécution. Dans l'exemple Visual Basic 6.0, le contrôle Line est utilisé ; considérez qu'un contrôle Line a été ajouté au moment du design. L'exemple Visual Basic 2008 utilise les méthodes Graphics.

Remarque :

Dans Visual Basic 6.0, l'unité de mesure par défaut correspond à des twips ; dans Visual Basic 2008, il s'agit de pixels.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Draw a diagonal line from the top left to the lower right.
    Line1.X1 = 0
    Line1.X2 = Me.ScaleWidth
    Line1.Y1 = 0
    Line1.Y2 = Me.ScaleHeight
    Line1.BorderColor = vbBlack
    Line1.BorderWidth = 1
End Sub
' Visual Basic
Private Sub FormPaint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    ' Draw a diagonal line from the top left to the lower right.
    e.Graphics.DrawLine(Pens.Black, 0, 0, Me.ClientSize.Width, _
    Me.ClientSize.Height)
End Sub

Mettre à niveau des remarques

Lorsqu'une application Visual Basic 6.0 est mise à niveau, le code qui fait référence au contrôle Line est mis à niveau pour utiliser le contrôle LineShape inclus dans la bibliothèque Visual Basic Power Packs facultative. Si une référence au contrôle Line est détectée au cours de la mise à niveau, un avertissement est émis et vous devrez installer la bibliothèque et la référencer à partir de votre projet mis à niveau.

Vous pouvez télécharger Visual Basic Power Packs à la page Microsoft Visual Basic 2005 Power Packs du site Web MSDN.

Voir aussi

Concepts

Éléments graphiques pour les utilisateurs de Visual Basic 6.0