.NET de Vérifier l'Orthographe de contrôle? [fermé]

Existe-t-il des bibliothèques (de préférence un contrôle D'édition de texte autonome) pour .NET qui ont des capacités de vérification orthographique. J'aimerais ajouter le soulignement rouge typique pour les mots Mal orthographiés dans la zone édition de ma demande.

Edit: Pour préciser, c'est pour WinForms

23
demandé sur Eric Schneider 2008-10-31 13:25:05

11 réponses

Not a redlining control, but:Aspell.Net est un composant libre et ouvert de vérification orthographique .Net. Basé sur le projet GNU Aspell, Aspell.Net est l'un des moteurs d'orthographe multilingues les plus puissants disponibles. L'API est écrite en C# et communique via un wrapper C++ autour du Port Win32 de L'API C D'Aspell.

référentiel sourceforge, vérifié février 2010 (Tahnks, @magnifico).

mai 2012, source no plus accessible... désolé.

9
répondu gimel 2012-05-18 09:04:21

Aspell.Net elle a l'air jolie, mais ne semble plus être entretenue. Je n'ai pas pu le faire marcher sur ma machine.

après avoir cherché autour de SourceForge, j'ai trouvé NHunspell, qui est un port .Net du correcteur orthographique de OpenOffice.org. Il fournit des méthodes pour vérifier l'orthographe, trouver des synonymes, et le trait d'Union. Son activement maintenu en ce moment, et est livré avec facile à comprendre le code échantillon.

selon les propres mots du projet:

vérification de L'orthographe, Hypénation et Thésaurus: NHunspell

NHunspell est un sort open source libre checker pour le Framework .NET. C# et Visual Basic sample code est disponible pour la vérification orthographique, les synonyme de recherche par thésaurus.

NHunspell est basé sur Hunspell et apporte la vérification orthographique de bureau ouvert, un trait d'Union et un thésaurus vers le Cadre Microsoft®. NET. NHunspell est une bibliothèque .NET (C#, VB) et wraps natif bibliothèques Hunspell, trait D'Union et de MyThes.

Les bibliothèques intégrées sont utilisés dans Ouvrir le bureau et travailler avec le dictionnaires publiés sur OpenOffice.org. Licence

NHunspell est titulaire d'une licence: GPL / LGPL / MPL. Libre utilisation commerciale applications est autorisé selon les licences LGPL et MPL. Votre l'application commerciale peut relier contre les DLLs de NHunspell.

NHunspell

12
répondu Jim Counts 2010-02-08 21:49:55

NHunspellTextBoxExtender, créé par William Winner works. Une fois ajouté à votre projet, peut être utilisé pour étendre textboxes et riches textboxes (n'importe quel contrôle qui hérite TextBoxBase). Le code Source est inclus en tant que bien.

http://www.codeproject.com/KB/recipes/NHunspellExtenderProvider.aspx

6
répondu Michael 2010-03-02 22:36:52

vous n'avez pas mentionné si c'était pour une utilisation web ou une application de bureau, mais j'ai utilisé netSpell dans le passé et a eu un bon succès.

2
répondu duckworth 2008-10-31 10:29:18

RapidSpell a bien fonctionné pour moihttp://keyoti.com

2
répondu 2009-05-13 20:47:59

****** Windows App-vous pouvez personnaliser votre propre contrôle de boîte de texte, aucun logiciel tiers nécessaire******

1-Ouvrez D'abord votre application "Propriétés" dans l'Explorateur de solutions, sous l'onglet "Application" assurez-vous que "target framework" est défini à ".net Framework 4", pas ".net Framework 4 Client Profile".

2-Deuxième à droite, cliquez sur votre application dans l'explorateur de solutions et sélectionnez "Ajouter une Référence...". Sélectionnez l'onglet ".NET", puis maintenez la touche de contrôle et sélectionnez le "WindowsFormsIntegration", "Le Système De.Design"," PresentationCore"," Presentationfram Framework","WindowsBase", " System.Xaml "et cliquez sur "OK".

3-troisième clic droit sur votre application dans l'Explorateur de solutions et sélectionnez "Ajouter" - > "Classe". Fais une nouvelle classe que tu peux appeler comme tu veux. Ouvrez le code pour la classe que vous venez de faire et supprimez le code, pas le fichier.

4-Forth copiez et collez le code suivant dans le fichier de classe que vous venez de créer.

using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms.Integration;
using System.Windows.Forms.Design;

[Designer(typeof(ControlDesigner))]
class SpellCheckTextbox: ElementHost
{
    private TextBox box;

    public SpellCheckTextbox()
    {
        box = new TextBox();
        base.Child = box;
        box.TextChanged += (sender, e) => OnTextChanged(EventArgs.Empty);
        box.SpellCheck.IsEnabled = true;
        box.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
        this.Size = new System.Drawing.Size(100, 200);
    }
    public override string Text
    {
        get { return box.Text; }
        set { box.Text = value; }
    }

    [DefaultValue(true)]
    public bool Multiline
    {
        get { return box.AcceptsReturn; }
        set { box.AcceptsReturn = value; }
    }

    [DefaultValue(false)]
    public bool ScrollBars
    {
        get 
        {
            if (box.VerticalScrollBarVisibility == ScrollBarVisibility.Visible ||
                box.HorizontalScrollBarVisibility == ScrollBarVisibility.Visible)
            {
                return true;
            }
            else 
            {
                return false;
            }

        }
        set 
        {
            if (value)
            {
                box.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
                box.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
            }
            else
            {
                box.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
                box.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
            }

        }
    }

    [DefaultValue(false)]
    public bool WordWrap
    {
        get { return box.TextWrapping != TextWrapping.NoWrap; }
        set { box.TextWrapping = value ? TextWrapping.Wrap : TextWrapping.NoWrap; }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public new System.Windows.UIElement Child
    {
        get { return base.Child; }
        set { /* Do nothing to solve a problem with the serializer !! */ }
    }

}

5 - Cinquième, enfin dernière étape, compiler le code, puis glisser-déposer le nouveau contrôle "SpellCheckTextbox", qui est situé au sommet de la "boîte à outils" en vue de conception sur votre forme.

2
répondu Steve 2014-10-24 12:10:17

free .net spell checker basé sur une zone de texte WPF qui peut être utilisée côté client ou serveur peut être vu ici

divulgation Complète...écrit par votre serviteur avec l'aide de débordement de pile, bien sûr :)

1
répondu Aran Mulholland 2013-08-01 04:04:25

Infragistics a un contrôle du correcteur orthographique qui peut faire le contrôle orthographique sur n'importe quel contrôle. Je n'ai pas utilisé moi-même, mais vous pouvez télécharger une version d'essai gratuit.

0
répondu Rune Grimstad 2008-10-31 10:29:19

composant 1 Fournir un composant qui fait ceci mais seulement comme vous tapez. Je l'utilise et il est très rapide.

Voir ici pour plus d'info

0
répondu John 2008-10-31 10:32:00

FCKEditor est un éditeur de texte agréable (basé sur le web). Il a des capacités de correction orthographique.

-1
répondu Vinblad 2008-10-31 10:31:46