2014-05-23 68 views
6

我在Visual Studio 2012中製作C#Windows窗體應用程序。我想添加一個帶有拼寫檢查功能的文本框。你能向我解釋一下這個過程嗎?如何激活C#Windows窗體應用程序中的拼寫檢查?

+0

我已經成功地使用NHunspell加上我在CodeProject上找到的GUI組件(我認爲這是一個:http://www.codeproject.com/Articles/73802/NHunspell-Component-for-Visual-Studio)。 – adv12

回答

8

如果您正在使用.NET4您可以參考System.XamlWindowsFormsIntegration程序添加到您的WinForms項目。

這使您可以在您的工具箱中找到ElementHost。通過使用ElementHost,您可以在Winfroms項目中使用WPF對象。

System.Windows.Forms.Integration.ElementHost elementHost1 = new System.Windows.Forms.Integration.ElementHost(); 
System.Windows.Controls.TextBox textBox = new System.Windows.Controls.TextBox(); 
textBox.SpellCheck.IsEnabled = true; 
elementHost1.Child = textBox; 
-1

基本上,你只需要將SpellCheck.IsEnabled屬性設置爲'true'。就像這樣:

TextBox textBox = new TextBox(); 
textBox.SpellCheck.IsEnabled = true; 

你可以找到在System.Windows.Controls命名此屬性,像這樣引用它:

using System.Windows.Controls; 

編輯觀點:我會強烈使用WPF建議Winforms,如果這是一個選項你可以探索。 Winforms曾經有一天,但對於更現代化的發展,WPF是一個更強大的平臺。

+0

我怎樣才能得到「System.Windows.Controls.TextBox」。如何導入。它在輸入「using.Windows.Controls ...」時不顯示我? – user3218743

+0

感謝您的編輯和WPF建議。但是當我添加「使用System.Windows.Controls」這一行時,它顯示紅色下劃線。我必須從任何地方引用它,或者我做錯了什麼? – user3218743

+5

WinForms中沒有這樣的屬性,它在問題標題和標籤中。這個答案只適用於OP在WPF中完全重寫他/她的應用程序。 – adv12

4

Windows窗體文本框中沒有內置的拼寫檢查功能。

你可以做的最好的事情可能是在你的窗體中嵌入一個WPF文本框。 Hans Passant在this post中就如何實現這一點給出了一個非常全面的答案。

0

沒有爲沒有能力的WinForms。 但是,如果你想重新使用它作爲一個文本框,創建一個WPF用戶控件,並把一個WPF文本框在那裏。 啓用拼寫檢查。 如果您拖放一次元素主機,它將自動添加必要的引用,之後,您將能夠在工具箱中看到您的用戶控件。 一旦用戶控件可見,您只需拖放它,它就會自動爲您創建一個元素主機,並將wpf usercontrol放入其中。