.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
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é.
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.
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
****** 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.
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 :)
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.
FCKEditor est un éditeur de texte agréable (basé sur le web). Il a des capacités de correction orthographique.