Redessiner votre feuille de la forme de votre choix en vb.net (...)


Description

J'ai trouver sur le web un code permettant de faire de sa feuille une forme speciale...
Voici donc quatre petits exemples simples de feuilles redessinée.
le principe est de definir le nombre de points de la forme que vous aller dessiner puis de leurs attribuer leurs coordonnées.
Ceci en considerant que : (pour un triangle rectangle en B)
Dim drawPoints(2) As Point
drawPoints(0) = New Point(50, 0) 'represente le point A
drawPoints(1) = New Point(50, 200) 'represente le point B
drawPoints(2) = New Point(250, 200) 'represente le point C

Source / Exemple :


Imports System.Drawing.Drawing2D 'à placer en tout debut du code

    Private Sub Form_etoile()
'ouais elle est pas super l'etoile, mais hein... pouvez changer les coordonnées pour faire mieux, je suis pas top fort en geometrie :)

        Dim i As Integer
        Dim drawTypes(9) As Byte
        Dim drawPoints(9) As Point

        drawPoints(0) = New Point(200, 0)   'A

        drawPoints(1) = New Point(165, 100) 'B
        drawPoints(2) = New Point(50, 140)  'C
        drawPoints(3) = New Point(150, 170) 'D

        drawPoints(4) = New Point(85, 275) 'E
        drawPoints(5) = New Point(200, 225) 'F
        drawPoints(6) = New Point(315, 275) 'G

        drawPoints(7) = New Point(250, 170) 'H
        drawPoints(8) = New Point(350, 140) 'I
        drawPoints(9) = New Point(235, 100) 'J
        For i = 0 To drawPoints.GetUpperBound(0)
            drawTypes(i) = PathPointType.Line
        Next i
        Dim newregion As New GraphicsPath(drawPoints, drawTypes)
        Me.Region = New Region(newregion)
    End Sub

    Private Sub Form_losange()
        Dim i As Integer
        Dim drawTypes(3) As Byte
        Dim drawPoints(3) As Point

        drawPoints(0) = New Point(100, 0)   'A
        drawPoints(1) = New Point(50, 100)  'B
        drawPoints(2) = New Point(100, 200) 'C
        drawPoints(3) = New Point(150, 100) 'D
        For i = 0 To drawPoints.GetUpperBound(0)
            drawTypes(i) = PathPointType.Line
        Next i
        Dim newregion As New GraphicsPath(drawPoints, drawTypes)
        Me.Region = New Region(newregion)
    End Sub

    Private Sub Form_triangle_rectangle()
        Dim i As Integer
        Dim drawTypes(2) As Byte
        Dim drawPoints(2) As Point

        drawPoints(0) = New Point(50, 0)
        drawPoints(1) = New Point(50, 200)
        drawPoints(2) = New Point(250, 200)
        For i = 0 To drawPoints.GetUpperBound(0)
            drawTypes(i) = PathPointType.Line
        Next i
        Dim newregion As New GraphicsPath(drawPoints, drawTypes)
        Me.Region = New Region(newregion)
    End Sub

    Private Sub Form_parallelograme()
        Dim i As Integer
        Dim drawTypes(3) As Byte
        Dim drawPoints(3) As Point

        drawPoints(0) = New Point(50, 0)
        drawPoints(1) = New Point(0, 200)
        drawPoints(2) = New Point(250, 200)
        drawPoints(3) = New Point(300, 0)
        For i = 0 To drawPoints.GetUpperBound(0)
            drawTypes(i) = PathPointType.Line
        Next i
        Dim newregion As New GraphicsPath(drawPoints, drawTypes)
        Me.Region = New Region(newregion)
    End Sub

Conclusion :


Bon pour l'etoile et son niveau geometrique, vous m'excuserez j'ai fait ca en tattonant, seulement pour un rendu visuel...et donc un exemple de form a 10 points.

Voila, si ca peut amuser qq1...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.