Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c#] RichTextBox

    21 septembre 2017 à 15:44:15

    Bonjour, depuis hier j'ai rencontrer un problème avec RichTextBox

    je réalise un projet "mailing" pour une compagnie, de ce fait il n'existe pas de RTE gratuit pour une application winForm alors j'ai du développer un RTE pour le mien (image ci-joint)

    En fait l'application fonctionne correctement (envoie d'e-mail) sauf que le rendu ne correspond pas

    ex: j’écris "bonjour" (format en Gras, Italic et Souligné) jusque là tout est OK et lorsque j'envoie le message, l'e-mail est bien envoyé mais le format du texte (en Gras, Italic et soulignement) ne s'applique dans le contenu du boite de réception de la personne qui reçoit l'e-mail

    et encore, est ce que quelqu'un peu m'aider pour le bouton "sauvegarder et la numérotation" voici mon code

     MailMessage mailMessage = new MailMessage(expediteur, email);
    
    
                                mailMessage.Subject = objet;
    
                                mailMessage.Body = richTextBox1.Text;
    
                                mailMessage.IsBodyHtml = true;
    
                                mailMessage.Priority = MailPriority.Normal;
    
                                var smtp = new SmtpClient(_host, 587);
                                smtp.UseDefaultCredentials = false;
    
                                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    
                                smtp.Credentials = new NetworkCredential(expediteur, password);
    
                                smtp.EnableSsl = true;

    Cordialement,

    -
    Edité par CharlesChristianGrey 21 septembre 2017 à 15:52:54

    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2017 à 16:21:06

      Le corps de votre message doit respecter les normes de l'IETF à base de RFC821 etc...

      Le format interne de contenu d'une RichEditBox ne correspond à aucune RFC, que je sache.

      Il faut donc avoir une représentation HTML du contenu de la RichEditBox.

      Le plus simple serait de différentier l'affichage (à base de RichEditBox) de ce qui sera vraiment envoyé (à base de HTML).

      Il existe des convertisseurs mais comme vous êtes à même de piloter toute l'édition du contenu, vous pouvez maintenir une double représentation des données.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        26 septembre 2017 à 8:14:27

        Bonjour Bacelar, je comprend tout à fait ce que vous voulez dire, en fait je viens de refaire le projet avec un "textBox" à la place de "richTextBox" et c'est toujours le même problème. 

        Mais Bacelar, est ce que tu peux me donné un peu d'idée du côté code (pratique) parce que la, du côté théorique ne m'aide pas beaucoup.

        merci 

        • Partager sur Facebook
        • Partager sur Twitter
          26 septembre 2017 à 12:21:03

          > "textBox" à la place de "richTextBox" et c'est toujours le même problème.

          C'est le même problème, "textBox" n'a pas de mise en page, dans "richTextBox.Text" vous la "perdez".

          Concrètement, il faut que vous génériez vous même la mise en page avec les balises HTML.

          Par exemple, quand vous gérez l'évènement sur le click du bouton [B], vous savez que vous devriez encadrer le texte sélectionné par l'une des balises HTML suivantes :

          https://www.alsacreations.com/article/lire/552-strong-b-em-i-quelle-balise-utiliser-et-pourquoi.html

          etc...

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

          [c#] RichTextBox

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown