none
Correcteur d'orthographe dans un TextBox. Différence entre Composants .NET Framework et WPF RRS feed

  • Question

  • Bonjour,

    J'ai réalisé une application avec des composants System.Windows.Forms et je souhaite ajouter une fonctionnalité de correcteur d'orthographe (souligner les fautes en rouge).

    J'ai regardé sur Internet et il suffit d'utiliser le composant System.Windows.Controls.TextBox et de définir la propriété SpellCheck.IsEnabled = True

    Dans mon programme j'utilise un tableau de type System.Windows.Forms.DataGridView et pour la saisie, je récupère le System.Windows.Forms.TextBox dans l'évènement EditingControlShowing pour contrôler la saisie.

    Je souhaite d'activer le correcteur d'orthographe uniquement dans la saisie d'un TextBox (souligner les fautes en rouge)
    et non sur le tableau pour ne pas faire remarquer les fautes à l'écran.

     Questions:

    1. Quelle est la différence entre les Composants .NET Framework et WPF ?
    2. Comment réaliser une fonctionnalité de correcteur d'orthographe avec un System.Windows.Forms.TextBox ?
    3. Faut-il modifier (voir réécrire) l'application pour utiliser les composants WPF au lieu des composants .NET Framework ?

    Cordialement
    Denis


    samedi 2 juillet 2016 08:34

Réponses

  • Bonjour,

    La solution idéal est de souligner en rouge les mots avec une faute d'orthographe, ce qui n'est pas possible avec un System.Windows.Forms.TextBox.

    J'ai trouvé une solution satisfaisante pour vérifier l'orthographe d'un texte court.

    Mon projet est composé d'un tableau de type System.Windows.Forms.DataGridView avec une colonne de type TexteBox pour la description sur une ligne et des colonnes avec des chiffres.

    Dans l'évènement EditingControlShowing du tableau, je récupère le TextBox et je lui ajoute l'évènement TextChanged. Dans cette évènement TextChanged, je vérifie qu'il s'agit de la colonne description, je recherche les espaces du TextBox dans une boucle et les mots du texte sont copiés dans une variable de type System.Windows.Controls.TextBox. L'orthographe est vérifié mot par mot. La couleur du fond du TextBox présenté à l'écran passe en rose clair dans le cas d'une faute d'orthographe ou en blanc pour un texte sans fautes.

    Le dernier mot (saisie du mot en cours) et les mots en majuscule ne sont pas vérifiés

    C'est une fonction simple et l'utilisateur est informé d'une faute d'orthographe.

    Cordialement
    Denis

    • Marqué comme réponse Denis 75 vendredi 26 août 2016 18:40
    mardi 23 août 2016 19:09

Toutes les réponses

  • Bonjour Denis75,

    WPF et Windows Forms sont deux technologies différentes : créer un projet WPF amène à utiliser des composants WPF, à de rares occasions vous aurez besoin de devoir utiliser des composants Windows Forms. C'est pourquoi pour votre correcteur d'orthographe, je vous conseille d'utiliser des contrôles WPF (TextBox de System.Windows.Controls) et la classe SpellCheck de WPF pour le correcteur d'orthographe.

    Vous aurez un bel exemple dans l'article suivant : SpellChecker in WPF

    Petite note : Les composants WPF sont aussi des composants .Net Framework, comme les Windows Forms.

    Cordialement

    lundi 4 juillet 2016 05:42
  • Bonjour,

    J'ai réalisé l'application en C# et j'ai utilisé les composants Windows Forms.
    L'application est composée d'un Formulaire parent MDI et de 10 Formulaires.

    Faut-il réécrire l'application avec les composants WPF ?
    Quels sont les avantages des composants WPF ?

    Cordialement
    Denis

    lundi 4 juillet 2016 19:28
  • Vous pouvez continuer avec les Windows Forms (vous avez commencé le projet avec), ça marchera aussi. A ce niveau là, il n'y a pas d'avantages, inconvénients entre Windows Forms et WPF. L'avantage énorme de WPF c'est que tu pourras avancer parallèlement sur les aspects "design" et "infrastructure" de ton interface : séparation des concepts.

    Cordialement

    mardi 5 juillet 2016 05:34
  • Bonjour,

    Comment réaliser en C# une vérification d'orthographe dans la saisie de texte avec le composant System.Windows.Forms.DataGridView ?

    Cordialement
    Denis

    mardi 5 juillet 2016 18:26
  • Bonjour,

    Qui peut répondre à question ?

    Comment réaliser en C# une vérification d'orthographe dans la saisie de texte avec le composant System.Windows.Forms.DataGridView ?

    Cordialement
    Denis

    dimanche 21 août 2016 19:15
  • Bonjour,

    Il n'y a pas de fonctionnalités de correcteur orthographique intégrés dans les textbox des Windows Forms.

    Vous pouvez toutefois intégrer un textbox WPF dans votre projet Windows Forms en le "hostant" : http://stackoverflow.com/questions/4024798/trying-to-use-the-c-sharp-spellcheck-class/4026132#4026132

    perso, je trouve pas ca super super ;-)

    Ou alors utiliser le spell checker de Word : http://www.codeproject.com/Articles/4572/Using-Word-s-spellchecker-in-C

    Sinon un composant d'un éditeur payant.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 22 août 2016 09:06
  • Bonjour,

    Je suis intéressé par la solution en intégrant un textbox WPF dans le projet Windows Forms.
    Je ne vois pas comment le faire car le textbox est crée par le tableau de type System.Windows.Forms.DataGridView  et  je récupère le System.Windows.Forms.TextBox dans l'évènement EditingControlShowing.

    Est il possible avec cette solution de vérifier l'orthographe avec un System.Windows.Forms.TextBox déjà créé ?

    Cordialement
    Denis


    • Modifié Denis 75 lundi 22 août 2016 19:11
    lundi 22 août 2016 19:10
  • non  

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 22 août 2016 22:29
  • Bonjour,

    La solution idéal est de souligner en rouge les mots avec une faute d'orthographe, ce qui n'est pas possible avec un System.Windows.Forms.TextBox.

    J'ai trouvé une solution satisfaisante pour vérifier l'orthographe d'un texte court.

    Mon projet est composé d'un tableau de type System.Windows.Forms.DataGridView avec une colonne de type TexteBox pour la description sur une ligne et des colonnes avec des chiffres.

    Dans l'évènement EditingControlShowing du tableau, je récupère le TextBox et je lui ajoute l'évènement TextChanged. Dans cette évènement TextChanged, je vérifie qu'il s'agit de la colonne description, je recherche les espaces du TextBox dans une boucle et les mots du texte sont copiés dans une variable de type System.Windows.Controls.TextBox. L'orthographe est vérifié mot par mot. La couleur du fond du TextBox présenté à l'écran passe en rose clair dans le cas d'une faute d'orthographe ou en blanc pour un texte sans fautes.

    Le dernier mot (saisie du mot en cours) et les mots en majuscule ne sont pas vérifiés

    C'est une fonction simple et l'utilisateur est informé d'une faute d'orthographe.

    Cordialement
    Denis

    • Marqué comme réponse Denis 75 vendredi 26 août 2016 18:40
    mardi 23 août 2016 19:09