Dieser Tipp zeigt auf, wie eine TextBox mit SpellCheck in Windows Forms erstellt werden kann. Die TextBox ermöglicht es, Steuerelemente wie in einer Textverarbeitung in Echtzeit auf die Rechtschreibprüfung zu überprüfen.
Dieser Tipp zeigt auf, wie eine TextBox mit SpellCheck in Windows Forms erstellt werden kann. Die TextBox ermöglicht es, Steuerelemente wie in einer Textverarbeitung in Echtzeit auf die Rechtschreibprüfung zu überprüfen.
Windows Presentation Foundation (WPF) hat in PresentationFramework.dll verbesserte Steuerelemente, die im Gegensatz zur Windows-Forms-Version eine Unterstützung für SpellCheck mitbringen.
Achtung: Damit die Rechtschreibprüfung aktiviert werden kann, muss ein «Language Pack for .NET Framework 4.0» installiert werden. Wer also die deutsche Rechtschreibung überprüfen möchte, muss das Language Pack «.NET Framework 4.0 German» installieren.
Gut zu wissen: WPF-Steuerelemente können in Windows Forms (und auch umgekehrt) integriert werden. Dazu brauchen wir die Klasse ElementHost (in WindowsFormsIntegration.dll):
var host = new ElementHost();
var tb = new System.Windows.Controls.TextBox();
... // tb als SpellCheck-fähig markieren
host.Child = tb;
host.Location = new Point(50, 50);
host.Size = new Size(100, 20);
this.Controls.Add(host);
Die Spellcheck-Eigenschaft des TextBox-Objekts ist eine Dependency Property. In WPF XAML wird diese Eigenschaft wie folgt gesetzt:
Um diese Eigenschaft programmatisch zu setzen, müssen wir folgenden Code schreiben:
...
var tb = new System.Windows.Controls.TextBox();
tb.SpellCheck.IsEnabled = true;
host.Child = tb;
...
Damit alles funktioniert, müssen wir einige Verweise sicherstellen:
Unsere (von WPF geklaute) TextBox sollte sich nun in unserer Windows-Forms-Applikation wie erwünscht verhalten!
Viel Spass beim Ausprobieren!
Seminare für SoftwareentwicklerBei Digicomp finden Sie ein breites Angebot an Weiterbildungen im Bereich Software- und Webentwicklung. Zum Beispiel: |
Bei Digicomp finden Sie ein breites Angebot an Weiterbildungen im Bereich Software- und Webentwicklung. Zum Beispiel:
4 Kommentare
ich habe den code so
private void Form1
Load(object sender, EventArgs e)
{
var host = new ElementHost();
var tb = new System.Windows.Controls.TextBox();
host.Child = tb;
host.Location = new Point(50, 50);
host.Size = new Size(100, 20);
this.Controls.Add(host);
tb.SpellCheck.IsEnabled = true;
host.Child = tb;
}
aber er markiert mir die fehlerhaften wörter nicht, language Pack ist auch instaliert, aber den code, der im Bild ist habe ich noch nicht hinzugefügt, wo muss ich den einfügen?
Hier ein vollständiges Projekt: http://static.news.digicomp.ch/1447684799/spellcheckerdemo.zip.
Warum die fehlerhaften Wörter nicht markiert werden kann ich nicht nachvollziehen. Bei mir hat es funktioniert (vorausgesehen der Language Pack wurde installiert).
Ich komme bei diesem Tutorial überhaupt nicht mit. gibts da auch ein video tutorial
Hallo
Ein Video Tutorial gibt es zurzeit keines. Welcher Schritt ist denn unklar?
Viele Grüsse
Raphael Geiger