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

Windows Forms Discussion :

[C#]Toolstripbutton [FAQ]


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut [C#]Toolstripbutton
    bonjour,
    J'essaye de mettre mes toolstripbutton de ma toolstrip dans un switch


    Avec mon code ,il me donne deux erreurs

    1) Impossible de convertir implicitement le type 'string' en 'system .Windows.Forms.ToolstripButton'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ToolStripButton t = (((ToolStripButton)sender).Name);
    2) Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'System.WindowsForms.ToolStripButton'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    switch (t[tsb])


    voici le code complet

    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
     
     
    private void toolbar_Click(object sender, EventArgs e)
    {
      foreach ( ToolStripButton tsb in Me.Controls)
       {
         ToolStripButton t = (((ToolStripButton)sender).Name);
          switch (t[tsb])
          {
            case "btnbold":
             // code à exécuter
            break;
           }
       }
    }

    Merci,pour votre aide

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [C#]Toolstripbutton
    Ben les erreurs sont evidentes
    Citation Envoyé par stargates
    1) Impossible de convertir implicitement le type 'string' en 'system .Windows.Forms.ToolstripButton'
    ToolStripButton t = (((ToolStripButton)sender).Name);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ToolStripButton t = (ToolStripButton)sender;
    switch (t.Name) 
          { 
            case "btnbold": 
             // code à exécuter 
            break; 
            //...
           }
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    merci,

    mais je crois que tu n'appelles pas tous les toolstripbutton du toolstrip

    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
     
     
    private void toolbar_Click(object sender, EventArgs e) 
    { 
      foreach ( ToolStripButton tsb in Me.Controls) 
       { 
         ToolStripButton t = (ToolStripButton)sender; 
          switch (t.name) 
          { 
            case "btnbold": 
             // code à exécuter 
            break; 
           } 
       } 
    }
    J'ai fait une boucle pour récupérer tous les toolstripbutton comment insérer la variable(tsb) dans le switch


    merci à toi

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    je comprends rien à ce que tu veux faire tu as besoin de savoir qui a été cliquer c'est tout :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je comprend pas tout non plus là

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    Je voulais gérer tous les évenements clickde mes toolstripbutton dans l'évenement click du toolstrip


    Je crois avoir résolu le problème
    1) associé tous les évènements Toolstripbutton_click avec le toolstrip _click (Avec le petit éclair events des propriétés)

    2)Pour voir comment le code passait j'ai joué avec les propriétés d'un label positionné a deux endroits dans le code.

    voici mon 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
     
     
    private void toolbar_Click(object sender, EventArgs e)
    {
       ToolStripButton t = (ToolStripButton)sender;
       label1.BackColor=Color.Bisque;
         switch (t.Name)
          {
            case "btnBold":
               if (rtbText.SelectionFont != null)
               {
                 System.Drawing.Font currentFont = rtbText.SelectionFont;
                 System.Drawing.FontStyle newFontStyle;
                    if (rtbText.SelectionFont.Bold == true)
                      {
                        newFontStyle = FontStyle.Regular;
                       }
                       else
                       {
                        newFontStyle = FontStyle.Bold;
                        }
                         rtbText.SelectionFont = new Font(currentFont.FontFamily,           currentFont.Size, newFontStyle);
              }
               label1.Text = "essai";
                break;
         }
    }
    Dites-moi ce que vous en pensez,si c'est à améliorer et puis je mettrais résolu

    Merci

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Là maintenant je comprends
    mais tu n'as qu'un bouton "btnBold" ou quoi où sont les autres :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    effectivement il n'y a qu' un seul bouton de traiter,maitenant il me reste à traiter les toolstripbuttons italique, souligner etc....
    Dès que je les ai programmé je met le code,cela pouurra aider un débutant comme moi.




    Merci

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    voilà le code pour les boutons gras,italique et souligné
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     
     private void toolbar_Click(object sender, EventArgs e)
            {
                ToolStripButton t = (ToolStripButton)sender;
                label1.BackColor=Color.Bisque;
                    switch (t.Name)
                    {
                        case "btnBold":
     
                            if (rtbText.SelectionFont != null)
                            {
                                System.Drawing.Font currentFont = rtbText.SelectionFont;
                                System.Drawing.FontStyle newFontStyle;
                                if (rtbText.SelectionFont.Bold == true)
                                {
                                    newFontStyle = FontStyle.Regular;
                                }
                                else
                                {
                                    newFontStyle = FontStyle.Bold;
                                }
                                rtbText.SelectionFont = new Font(currentFont.FontFamily, currentFont.Size, newFontStyle);
                            }
                            label1.Text = "essai";
                            break;
                        case "btnItalique":
                            if (rtbText.SelectionFont != null)
                            {
                                System.Drawing.Font currentFont = rtbText.SelectionFont;
                                System.Drawing.FontStyle newFontStyle;
                                if (rtbText.SelectionFont.Italic == true)
                                {
                                    newFontStyle = FontStyle.Regular;
                                }
                                else
                                {
                                    newFontStyle = FontStyle.Italic;
                                }
                                rtbText.SelectionFont = new Font(currentFont.FontFamily, currentFont.Size, newFontStyle);
     
                            }
                            break;
                        case "btnSouligne":
                            if (rtbText.SelectionFont != null)
                            {
                                System.Drawing.Font currentFont = rtbText.SelectionFont;
                                System.Drawing.FontStyle newFontStyle;
                                if (rtbText.SelectionFont.Underline == true)
                                {
                                    newFontStyle = FontStyle.Regular;
                                }
                                else
                                {
                                    newFontStyle = FontStyle.Underline;
                                }
                                rtbText.SelectionFont = new Font(currentFont.FontFamily, currentFont.Size, newFontStyle);
     
                            }
                            break;
                    }
                }
    Mais il y a un petit hic avec mon code , je ne sais pas faire du texte en gras italique et souligné en même temps

    une idée, je cherche de mon coté

  10. #10
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben je te laisse découvrir la belle solution de Maniak
    http://www.developpez.net/forums/viewtopic.php?t=375616
    Bonne lecture
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    voici la solution de maniak, traduite en c#


    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
     
            private void appliStyle(FontStyle style)
            {
                Font police = this.rtbText.SelectionFont;
                this.rtbText.SelectionFont = new Font(police, police.Style ^ style);
            }
     
            private void btnBold_Click(object sender, EventArgs e)
            {
                appliStyle(FontStyle.Bold);
            }
     
            private void btnItalique_Click(object sender, EventArgs e)
            {
                appliStyle(FontStyle.Italic);
            }
     
            private void btnSouligne_Click(object sender, EventArgs e)
            {
                appliStyle(FontStyle.Underline);
            }

    Merci

  12. #12
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    voilà maintenant une Q/R toute prête pour la Faq ya plus qu'à la traduire en Delphi.
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. ToolStripButton INVISIBLE apres publication
    Par gridin dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/01/2013, 22h46
  2. agrandir image toolstripbutton
    Par lovedesitaliens dans le forum C#
    Réponses: 0
    Dernier message: 22/07/2010, 11h15
  3. conversion ToolStripButton vers Button
    Par TaymouWan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/06/2009, 09h30
  4. Probleme click sur Toolstripbutton
    Par olibara dans le forum Windows Forms
    Réponses: 0
    Dernier message: 12/04/2009, 12h31
  5. [C#, toolstripbutton] Changement d'icône toolstripbutton
    Par SesechXP dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/08/2006, 19h52

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