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

C# Discussion :

fonction taille police et enregistrer sur Richtextbox


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut fonction taille police et enregistrer sur Richtextbox
    Bonjour à tous.

    J'ai un projet que j'aurai aimé réaliser pour mes études.
    c'est un bloc note.
    Par contre j'ai quelques soucis sur deux fonctionnalités.
    1) bouton taille.

    j'ai réussi a faire ce code mais malheureusement ma taille dans ma combobox n'est pas pris en compte

    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
    private void ComboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
     
    System.Drawing.Font currentFont = rt_texte.SelectionFont;
    string s = ComboBox2.Texte; 
    Label2.Text = s;
    s = s.Replace(',', '.'); // remplace si un items à mal été taper.
     
    // ma conversion
    float a;
    float.TryParse(s, out a);
     
     
    // la valeur de a n'est pas pris en compte. la Police change mais pas la taille.
    rt_texte.SelectionFont = new Font(currentFont.FontFamily, a , currentFont.Style); 
     
    }
    et j'ai un souis avec ma fonction enregistrer
    j'ai fais comme beaucoup de gens sur des tuto que j'ai vu , des explications et sa ne change rien sur ma savefiledialog()
    ma savefiledialog(à se nome od_save)
    mon save comme ceci fonctionne juste pour créer un fichier que je tape taper avec l'extension (ex : "texte.txt") et il ne sauvegarde pas ma police d'écriture.
    j'ai beau chercher partout , mon professeur , des amis , personne ne sait ...


    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
    private void button_enregistrer_click(object sender, EventArgs e)
    {
     SaveFileDialog od_save1 = new SaveFileDialog();
                od_save1.FileName = "Mon Document";
                od_save1.DefaultExt = "rtf";
                od_save1.Filter = "Fichiers texte (*.txt)|*.txt|Rich Text Format (*.rtf)|*.rtf|Tous les fichiers (*." + "*)|*.*";
                od_save1.Title = "save ! ";
     
     
                    if (od_save1.ShowDialog() == DialogResult.OK)
                    {
                        rt_texte.SaveFile(od_save1.FileName, RichTextBoxStreamType.PlainText);
                    }
                    rt_texte.Clear();
     
                    MessageBox.Show("ok");
            }

    Si vous pouvez m'apporter une petite aide sa m'arrangerai , je bute trop longtemps dessus.

    Merci d'avance et désolé pour ce long message.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Pour le premier problème, je ne vois pas très bien pourquoi ça marche pas...

    Pour le deuxième, c'est normal : tu enregistres en "plain text" (texte brut), donc ça n'enregistre pas la mise en forme. Si tu veux garder la mise en forme il faut enregistrer au format RTF (RichTextBoxStreamType.RichText).

    D'ailleurs il faudrait tenir compte du type choisi par l'utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                    if (od_save1.ShowDialog() == DialogResult.OK)
                    {
                        RichTextBoxStreamType format = RichTextBoxStreamType.PlainText;
                        if (od_save1.FilterIndex == 1)
                            format = RichTextBoxStreamType.RichText;
                        rt_texte.SaveFile(od_save1.FileName, format);
                    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    Merci pour vos reponse.

    Voici mon code je l'ai modifier juste ce bout la .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void menu_save ()
    {
       ...
    richtextbox.savefile(od_save.FileName, RichTextBoxStreamType.richText);
    }
    le problème est que lorsque j'enregistre en point .txt ou .rtf
    voila que cela me donner sur une lettre :

    Cela me fais rien.
    Logique ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    J'ai rien compris

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void button_enregistrer_click(object sender, EventArgs e)
    {
     
     if (od_save.ShowDialog() == DialogResult.OK)  //  od_save  nom de mon outils savedialogu
                    {
                        rt_texte.SaveFile(od_save.FileName, RichTextBoxStreamType.PlainText);
                    }
          }
    j'ai mis ca sur mon bouton save.
    Lors de ma sauvegarde en .txt ou .rtf, cela ne prend pas en compte ma police j'ai toujours un texte brute. est ce normal ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    voila un test que je viens de faire.

    dans ma richtextbox j'ai taper en gras : "Test mise en forme"
    je sauvegarde.
    je vide ma Richtextbox , j'ouvre ce fichier .rtf et voila ce qu'il contient.

    {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Verdana;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}}\viewkind4\uc1\pard\lang1036\b\f0\fs24 Test mise en forme\b0\f1\fs17\par}

    je comprend pas trop comment je pourrais obtenir mon texte en gras simplement, au lieu d'avoir une chose comme ci dessus.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par kirua99 Voir le message
    je comprend pas trop comment je pourrais obtenir mon texte en gras simplement, au lieu d'avoir une chose comme ci dessus.
    En l'ouvrant avec un éditeur qui supporte le RTF (WordPad, Word...), plutôt que le bloc-notes
    Pour un ordinateur, un texte, c'est juste une série de caractères, sans mise en forme. Pour enregistrer la mise en forme, il faut bien représenter d'une manière ou d'une autre le fait que le texte soit en gras, en italique, etc. Tu ne peux pas le faire dans un simple fichier texte... C'est pour ça qu'il existe des formats comme RTF ou HTML qui permettent de conserver la mise en forme, mais qui ne sont pas lisibles par tous les logiciels. Si tu prends le bloc-notes, il ne reconnait qu'un seul format : le texte brut. Donc il va afficher le fichier comme du texte brut, au lieu d'interpréter les instructions de mise en forme...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    Bonjour
    Merci de m'avoir éclairer.
    Donc si j'ai bien compris , mon programme bloc note que j'ai créer , je pourrais créer des fichiers avec des style et police différente, mais je ne pourrais pas lire des fichiers que j'ai ouvert avec des caractères polices et styles.
    Et malheureusement je ne pourrais changer sa !

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par kirua99 Voir le message
    Donc si j'ai bien compris , mon programme bloc note que j'ai créer , je pourrais créer des fichiers avec des style et police différente, mais je ne pourrais pas lire des fichiers que j'ai ouvert avec des caractères polices et styles.
    Hein ?
    Mais si, puisque c'est un RichTextBox... il lit aussi bien le format "texte brut" que le texte formatté. Il suffit de préciser en paramètre de la méthode LoadFile si tu veux charger un fichier texte ou RTF

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    bonjour pour la sauvegarde j ai réussi merci

    mais j ai toujours ce problème de taille de texte.
    si une personne pourrai m'aiguiller sur le code que j ai poster au dessus , car la je suis un peu perdu et je vois pas comment je pourrais faire.

    merci d avance

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    J'ai déjà réalisé cette application.
    Je vous donne le code pour enregistrer
    le richTextBox :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    try
    {
        richTextBox1.SaveFile(saveFileDialog1.FileName,
            RichTextBoxStreamType.PlainText);
    }
     
    catch
    {
        if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&     saveFileDialog1.FileName.Length > 0)
        {
            richTextBox1.SaveFile(saveFileDialog1.FileName,
                RichTextBoxStreamType.PlainText);
        }
    }

    J'espère que je vous ai bien aidé.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/10/2009, 13h31
  2. Taille de la police par défaut sur Linux
    Par Ggamer dans le forum wxPython
    Réponses: 3
    Dernier message: 18/09/2009, 11h05
  3. Réponses: 33
    Dernier message: 03/09/2009, 17h16
  4. Réponses: 0
    Dernier message: 25/01/2008, 11h21
  5. augmenter taille police au passage de la souris sur un lien
    Par Nemesys dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 29/06/2007, 00h26

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