2008-10-31 25 views
23

क्या वहां कोई पुस्तकालय है (अधिमानतः एक स्वयं निहित टेक्स्ट एडिट कंट्रोल) .NET के लिए जिसमें वर्तनी जांच क्षमताएं हैं। मैं अपने आवेदन के संपादन क्षेत्र में मिस्ड-वर्तनी वाले शब्दों के लिए सामान्य लाल रेखांकन जोड़ना चाहता हूं।.NET वर्तनी जांच नियंत्रण?

संपादित करें: स्पष्ट करने के लिए, इस WinForms

+1

Winforms, ASP.net या WPF? –

+4

क्या "मिस-वर्तनी" विडंबनापूर्ण था? :) –

+0

यहां आपकी आवश्यकता के अनुसार [कुछ] (http://www.tachyon-labs.com/sharpspell.aspx) है। HTH। – Codeslayer

उत्तर

9

नहीं redlining नियंत्रण के लिए here देखें, लेकिन: Aspell.Net एक मुफ्त और खुले स्रोत नेट जादू घटक जाँच है। जीएनयू एस्पेल प्रोजेक्ट के आधार पर, Aspell.Net उपलब्ध सबसे शक्तिशाली बहुभाषी वर्तनी इंजनों में से एक है। एपीआई सी # में लिखा गया है और Win32 पोर्ट ऑफ एस्पेल के सी एपीआई के आसपास एक सी ++ रैपर के माध्यम से संचार करता है।

sourceforge पर स्रोत भंडार, फरवरी 2010 (तहंक्स, @magnifico) की जांच की गई।

मई 2012, स्रोत अब पहुंच योग्य नहीं है ... क्षमा करें।

+0

Aspell.Net का संग्रह ऑफ़लाइन प्रतीत होता है। –

+0

लिंक किए गए पृष्ठ के पास सीवीएस रिपॉजिटरी के लिए एक अवैध लिंक है। यहां एक अद्यतन लिंक है: http://aspell-net.cvs.sourceforge.net/viewvc/aspell-net/ –

+0

रिपोजिटरी अभी तक ऑफ़लाइन प्रतीत होता है। – ean5533

2

आप इस वेब आधारित उपयोग या डेस्कटॉप ऐप्स के लिए था कि क्या जिक्र नहीं किया था के लिए है, लेकिन मैं अतीत में netSpell का इस्तेमाल किया और अच्छा सफलता मिली है।

0

Infragistics में spell checker control है जो किसी भी नियंत्रण पर वर्तनी जांच कर सकता है। मैंने इसे स्वयं नहीं उपयोग किया है, लेकिन आप मुफ्त में एक परीक्षण संस्करण डाउनलोड कर सकते हैं।

-1

FCKEditor एक अच्छा टेक्स्ट एडिटर (वेब ​​आधारित) है। इसमें वर्तनी जांच क्षमता है।

2

Telerik एएसपी.NET के लिए एक नियंत्रण है।

0

घटक एक ऐसा घटक प्रदान करता है जो ऐसा करता है लेकिन केवल आपके द्वारा टाइप किया जाता है। मैं इसका इस्तेमाल करता हूं और यह बहुत तेज़ है।

अधिक जानकारी

12

के लिए महान काम किया Aspell.Net अच्छा लग रहा है, लेकिन अब बनाए रखा जाना प्रतीत नहीं होता। मैं इसे अपनी मशीन पर काम नहीं कर सका।

SourceForge के आसपास खोज करने के बाद, मुझे NHunspell मिला, जो OpenOffice.org से वर्तनी परीक्षक का नेट नेट पोर्ट है। यह जांच वर्तनी, समानार्थी खोजने, और hyphenate करने के तरीकों प्रदान करता है। इसकी सक्रिय रूप से इस समय बनाए रखा गया है, और नमूना कोड को समझने में आसान है।

परियोजना के ही शब्दों में:

वर्तनी परीक्षक, Hypenation और ट्रेज़र: NHunspell

NHunspell एक नि: शुल्क मुक्त स्रोत .NET फ्रेमवर्क के लिये चेकर वर्तनी है। सी # और विजुअल बेसिक नमूना कोड स्पेल जांच, हाइफेनेशन और थिसॉरस के माध्यम से समानार्थी लुकअप के लिए उपलब्ध है।

NHunspell Hunspell पर आधारित है और ओपन कार्यालय माइक्रोसॉफ्ट .NET फ्रेमवर्क के लिए वर्तनी जांच, हायफ़नेशन और कोश लाता है। NHunspell एक .NET (सी #, वीबी) लाइब्रेरी है और मूल पुस्तकालय Hunspell, Hyphen और MyThes को लपेटता है।

एकीकृत पुस्तकालयों OpenOffice में इस्तेमाल किया और शब्दकोशों पर OpenOffice.org प्रकाशित के साथ काम कर रहे हैं। लाइसेंस

एनएचनस्पेल को लाइसेंस प्राप्त है: जीपीएल/एलजीपीएल/एमपीएल। वाणिज्यिक अनुप्रयोगों में नि: शुल्क उपयोग एलजीपीएल और एमपीएल लाइसेंस के अनुसार अनुमत है। आपका वाणिज्यिक एप्लिकेशन NH12spell DLLs के विरुद्ध लिंक कर सकता है।

NHunspell

6

NHunspellTextBoxExtender, विलियम विजेता काम करता है के द्वारा बनाई गई। एक बार आपके प्रोजेक्ट में जोड़े जाने के बाद, टेक्स्टबॉक्स और समृद्ध टेक्स्टबॉक्स (टेक्स्टबॉक्सबॉक्स को प्राप्त करने वाले किसी भी नियंत्रण) को बढ़ाने के लिए उपयोग किया जा सकता है। स्रोत कोड भी शामिल है।

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

+0

उनमें से सर्वश्रेष्ठ! – Soonts

1

नि: शुल्क नेट जादू एक WPF पाठ बॉक्स इस्तेमाल किया जा सकता है कि ग्राहक या सर्वर साइड here देखा जा सकता है के आसपास आधारित चेकर

पूर्ण प्रकटीकरण ... सही मायने में ढेर से कुछ मदद के साथ तुम्हारा द्वारा लिखित पाठ्यक्रम :) की अतिप्रवाह

+0

कोड अच्छा लग रहा है, लेकिन आपका घटक टूलबॉक्स में प्रकट नहीं होता है, भले ही वर्तनी जांच टेक्स्टबॉक्स टेक्स्टबॉक्स बढ़ाता है। मैं इसे लेता हूं यह एक एक्सएएमएल केवल घटक है और WinForms पर काम करने के लिए डिज़ाइन नहीं किया गया है? –

+0

यह एक दृश्य घटक नहीं है। मैंने इसे सर्वर पर चलाने के लिए लिखा था। आप उस पाठ के साथ कॉल करते हैं जिसे आप वर्तनी जांचना चाहते हैं और यह आपको वर्तनी गलती की स्थिति के साथ-साथ सुझाव देता है।यदि आप सही असेंबली संदर्भ जोड़ते हैं तो यह Winforms के तहत चला जाएगा। यह मूल रूप से अंतर्निहित वर्तनी जांच नियंत्रण प्राप्त करने के लिए, wpf टेक्स्ट बॉक्स का उपयोग करके एक हैक है। पाठ बॉक्स स्क्रीन पर कभी नहीं दिखाई देता है। –

+0

स्पष्टीकरण के लिए धन्यवाद। आपके द्वारा निर्दिष्ट विधि और उद्देश्य के लिए, कोड अच्छा है, और गिटहब पर बदलाव के लिए कुछ 'साफ' देखने का आशीर्वाद था। यदि मैं सुझाव दे सकता हूं, तो क्या आप WinForms नियंत्रण उदाहरण में स्टीव द्वारा होस्ट किए गए नियंत्रण के समान समर्थन को रेडलाइन कर सकते हैं। –

2

****** विंडोज ऐप-आप अपनी खुद की पाठ बॉक्स नियंत्रण अनुकूलित कर सकते हैं, कोई तीसरी पार्टी सॉफ्टवेयर की आवश्यकता ******

1-सबसे पहले अपने आवेदन "गुण" खोलने में "एक्सप्लोरर" टैब के तहत समाधान एक्सप्लोरर सुनिश्चित करें कि "लक्ष्य ढांचा" को "नेट फ्रेमवर्क 4" पर सेट किया गया है, न कि "नेट फ्रेमवर्क 4 क्लाइंट प्रोफाइल"।

2-सेकंड राइट समाधान एक्सप्लोरर में अपने एप्लिकेशन पर क्लिक करें और "संदर्भ जोड़ें ..." चुनें। ".NET" टैब का चयन करें, फिर नियंत्रण कुंजी दबाएं और "WindowsFormsIntgration", "System.Design", "PresentationCore", "PresentationFramework", "WindowsBase", "System.Xaml" चुनें और "ठीक" पर क्लिक करें।

3-तीसरा दायां समाधान एक्सप्लोरर में अपने आवेदन पर क्लिक करें और "जोड़ें" -> "कक्षा" का चयन करें। एक नई कक्षा बनाएं जिसे आप इसे पसंद कर सकते हैं। आपके द्वारा अभी बनाए गए वर्ग के लिए कोड खोलें और कोड को हटाएं, फ़ाइल नहीं।

4-फ़र्थ कॉपी करें और निम्न कोड को उस क्लास फ़ाइल में पेस्ट करें जिसे आपने अभी बनाया है।

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- पांचवां, अंत में अंतिम चरण में, कोड संकलन तो खींचें और नए नियंत्रण "SpellCheckTextbox", जो आपके प्रपत्र पर "उपकरण बॉक्स" डिजाइन को ध्यान में रखते के शीर्ष पर स्थित है ड्रॉप।

+0

मैं इसे मल्टीलाइन को कन्स्ट्रक्टर बॉक्स में जोड़ने के बिना काम नहीं कर सकता .AcceptsTab = true; बॉक्स। AcceptsReturn = true; –

+0

हालांकि अच्छी तरह से काम करने लगता है! साझा करने के लिए धन्यवाद। यह वास्तव में काम कैसे करता है? क्या यह Winforms फॉर्म में एक WPF टेक्स्टबॉक्स होस्ट कर रहा है? –

+0

मूल रूप से, यह वही है जो यह कर रहा है, – Steve

संबंधित मुद्दे