IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Probleme de bordure sur mon Panel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Scientist
    Inscrit en
    Mai 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Scientist
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2013
    Messages : 110
    Par défaut Probleme de bordure sur mon Panel
    Bonsoir,

    Je place des Panels cote a cote dans une Form1.
    J'ai cree une propriete BorderWidth dans une Class cdtPanel (voir code).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Public Class cdtPanel
        Inherits System.Windows.Forms.Panel
     
        Public Sub New()
        End Sub
     
        Private bWidth As Integer
        Public Property BorderWidth() As Integer
            Get
                Return Me.bWidth
            End Get
            Set(ByVal value As Integer)
                Me.bWidth = Math.Abs(value)
                Me.Refresh()
            End Set
        End Property
     
        Private bColor As Color
        Public Property BorderColor() As Color
            Get
                Return Me.bColor
            End Get
            Set(ByVal value As Color)
                Me.bColor = value
                Me.Refresh()
            End Set
        End Property
     
        Private bName As String
        Public Property NamePD() As String
            Get
                Return Me.bName
            End Get
            Set(ByVal value As String)
                Me.bName = value
                Me.Refresh()
            End Set
        End Property
     
        Public Overridable Sub cdtPanel_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
            Dim myPen As New Pen(Me.bColor, Me.bWidth)
            Dim dashValues As Single() = {5, 2, 15, 2}
            myPen.DashPattern = dashValues
            e.Graphics.DrawRectangle(myPen, Me.ClientRectangle)
            e.Graphics.DrawString(Me.NamePD, New Font("Arial", 12, FontStyle.Bold), Brushes.Blue, (Me.ClientSize.Width / 2) - 10, (Me.ClientSize.Height / 2) - 10, New StringFormat)
        End Sub
     
    End Class
    J'ai un petit probleme lorsque je dessine le bord du Panel (avec BorderWidth=1): les bordures 'Top' et 'Left' sont bien tracees, mais les bordures 'Right' et 'Bottom' sont absentes.

    Je ne comprends pas. Avez-vous une idee du pourquoi?

    Merci,
    A+
    JLuc01

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 193
    Par défaut
    clientrectangle ne convient pas il faut lui faire -1 sur width et height pour obtenir le bon
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Scientist
    Inscrit en
    Mai 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Scientist
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2013
    Messages : 110
    Par défaut
    OK, ca marche mieux avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Graphics.DrawRectangle(myPen, Me.ClientRectangle.Location.X, Me.ClientRectangle.Location.Y, Me.ClientRectangle.Width - 1, Me.ClientRectangle.Height - 1)
    Mais, au milieu le trait apparait en double.

    En fait, je viens de trouver la solution. C'etait dans la facon d'ajouter mes Panels cote a cote.
    Bref, tout va bien maintenant.

    Merci,
    A+
    JLuc01

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de téléchargements sur mon site
    Par sermadiras nicolas dans le forum Débuter
    Réponses: 7
    Dernier message: 13/10/2008, 15h24
  2. probleme avec sendAndLoad sur mon hébergeur
    Par jeremy.joron dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 08/09/2008, 13h57
  3. Probleme lancement Tomcat sur mon IP
    Par KING_OF_GRACELAND dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 24/12/2007, 11h32
  4. Probleme de setVisible sur un panel
    Par kahya dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 23/10/2007, 10h27
  5. Probleme applet java sur mon site
    Par halo90 dans le forum Applets
    Réponses: 5
    Dernier message: 01/02/2006, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo