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 :

Comment définir les attributs de la propriété Texte d'un contrôle


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut Comment définir les attributs de la propriété Texte d'un contrôle
    Bonjour à tous

    Grace à vous, je sais comment définir la taille de la police de la propriéré "Text" d'un contrôle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonContrôle.Font = New Font(MonContrôle.Font.FontFamily, LaTaille)
    Le problème qui reste est que les attributs de la police sont perdus et que j'aimerais bien les définir dans la foulée (Bold, Italic etc..)

    Quelqu'un a-t-il une solution à me proposer ?

    Merci de votre réponse

    Claude Azoulai

  2. #2
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Vous avez d'autres constructeurs pour Font
    Sur le msdn vous trouverez celui qui vous convient

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à dkmix

    Si l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonContrôle.Font = New Font(MonContrôle.Font.FontFamily, LaTaille,FontStyle.Bold)
    fonctionne bien, je n'arrive pas à récupérer le FontStyle de MonContrôle.
    Et ce n'est pas faute d'avoir essayé plusieurs types d'instruction.

    Si tu as une idée, elle est la bienvenue

    Claude Azoulai

  4. #4
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Et ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonContrôle.Font = New Font(MonContrôle.Font.FontFamily, LaTaille,MonContrôle.Font.Style )

  5. #5
    Membre actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Points : 205
    Points
    205
    Par défaut
    Bonjour Claude_Azoulai

    Je vous délivre un certain nombre de tests effectués sur un contrôle
    Lab As Label
    afin que vous puissiez vous retrouver dans le salmigondis que constitue le traitement des fontes dans vb.net.
    Le test 1 montre que l'on peut très bien créer une fonte puis l'attribuer ensuite à un contrôle, ou d'ailleurs à tout objet possédant une propriété de type Font, par exemple un objet de classe Bitmap.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Private Sub Tester01()
            Dim Fnt As New Font("Times New Roman", 10, FontStyle.Italic)
            Lab.Font = Fnt
        End Sub
    Mais bien sûr, il est préférable dans le cas d'un contrôle de procéder directement comme le montre le test 2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub Tester02()
            Lab.Font = New Font("Times New Roman", 10, FontStyle.Italic)
        End Sub
    Cette syntaxe laisse supposer que le premier argument est un String, alors qu'en réalité c'est un objet de classe System.Drawing.FontFamily. Le deuxième argument, sans surprise, est un Integer. Quant au troisème, il faut savoir que FontStyle n'est pas une classe, mais une énumération.
    Le test 3 montre comment retrouver les attributs d'une fonte. Attention, ils sont tous "ReadOnly". Noter que pour afficher le nom de fonte, j'ai dû la convertir en String avant de l'envoyer dans un MsgBox. Tous les attributs de style (Bold, Italic, Underline, Strikeout) sont des Boolean.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Tester03()
            Dim Fnt As Font, Nom As String, Tle As Integer, Grs As Boolean, Itl As Boolean, Slg As Boolean, Bar As Boolean
            Lab.Font = New Font("Times New Roman", 10, FontStyle.Italic)
            Fnt = Lab.Font
            With Fnt
                Nom = .FontFamily.ToString : MsgBox(Nom)
                Tle = .Size : MsgBox("Taille = " & Tle.ToString)
                Grs = .Bold : MsgBox("Gras = " & Grs.ToString)
                Itl = .Italic : MsgBox("Italique = " & Itl.ToString)
                Slg = .Underline : MsgBox("Souligné = " & Slg.ToString)
                Bar = .Strikeout : MsgBox("Barré = " & Bar.ToString)
            End With
        End Sub
    Le test 4 montre comment on peut dans le troisième argument combiner les attributs de style.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Tester04()
            Dim Fnt As Font, Nom As String, Tle As Integer, Grs As Boolean, Itl As Boolean, Slg As Boolean, Bar As Boolean
            Lab.Font = New Font("Times New Roman", 10, FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout)
            Fnt = Lab.Font
            With Fnt
                Nom = .FontFamily.ToString : MsgBox(Nom)
                Tle = .Size : MsgBox("Taille = " & Tle.ToString)
                Grs = .Bold : MsgBox("Gras = " & Grs.ToString)
                Itl = .Italic : MsgBox("Italique = " & Itl.ToString)
                Slg = .Underline : MsgBox("Souligné = " & Slg.ToString)
                Bar = .Strikeout : MsgBox("Barré = " & Bar.ToString)
            End With
        End Sub
    Mais, me direz-vous, pourquoi combiner par des opérateurs Or, alors que l'on pourrait s'attendre à des And. Je vous répondrai alors que cela est une autre histoire, que je vous conterai si vraiment vous insistez.
    Le test 5 met en jeu un attribut de style Regular
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Tester05()
            Dim Fnt As Font, Nom As String, Tle As Integer, Grs As Boolean, Itl As Boolean, Slg As Boolean, Bar As Boolean
            Lab.Font = New Font("Times New Roman", 10, FontStyle.Regular)
            Fnt = Lab.Font
            With Fnt
                Nom = .FontFamily.ToString : MsgBox(Nom)
                Tle = .Size : MsgBox("Taille = " & Tle.ToString)
                Grs = .Bold : MsgBox("Gras = " & Grs.ToString)
                Itl = .Italic : MsgBox("Italique = " & Itl.ToString)
                Slg = .Underline : MsgBox("Souligné = " & Slg.ToString)
                Bar = .Strikeout : MsgBox("Barré = " & Bar.ToString)
            End With
        End Sub
    totalement inutile comme le montre le test 6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Tester06()
            Dim Fnt As Font, Nom As String, Tle As Integer, Grs As Boolean, Itl As Boolean, Slg As Boolean, Bar As Boolean
            Lab.Font = New Font("Times New Roman", 10)
            Fnt = Lab.Font
            With Fnt
                Nom = .FontFamily.ToString : MsgBox(Nom)
                Tle = .Size : MsgBox("Taille = " & Tle.ToString)
                Grs = .Bold : MsgBox("Gras = " & Grs.ToString)
                Itl = .Italic : MsgBox("Italique = " & Itl.ToString)
                Slg = .Underline : MsgBox("Souligné = " & Slg.ToString)
                Bar = .Strikeout : MsgBox("Barré = " & Bar.ToString)
            End With
        End Sub
    Cordiales salutations.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à vous deux

    Quand je suis revenu sur le site, j'avais trouvé par tatonnement
    "MonContrôle.Font.Style", alors que j'avais essayé "MonContrôle.FontStyle" qui me paraissait coulant de source.

    Les différents exemples fournis vont m'être très utiles et j'en remercie l'auteur.

    Bravo pour votre collaboration

    Claude Azoulai

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

Discussions similaires

  1. Comment dééfinir les valeurs des abscisses en Time ?
    Par marsupilami34 dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2005, 15h50
  2. [TChart] Comment définir les marges d'un graphe ?
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 01/08/2005, 16h48
  3. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37
  4. Réponses: 3
    Dernier message: 01/04/2005, 09h37
  5. comment modifier les attributs d'un fichier?
    Par kamal101 dans le forum C++
    Réponses: 1
    Dernier message: 18/03/2005, 14h16

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