拼写检查器使用单词

本文关键字:单词 检查 | 更新日期: 2023-09-27 18:26:05

我正在用c#为拼写检查器编写一段代码。我在网上找到了这个代码。我是c#的新手,无法理解代码。

我在以下网站上找到了此代码:http://www.codeproject.com/Articles/4572/Using-Word-s-spellchecker-in-C

我可以了解一下代码中实际发生的事情的一般指南吗:

using Word;
using System.Reflection;

private void button1_Click(object sender, System.EventArgs e) 
{ 
    fSpellCheck(textBox1 , label1 ); 
}

public void fSpellCheck(TextBox tBox, Label lLbl) 
{ 
    int iErrorCount = 0; 
    Word.Application app = new Word.Application(); 
    if (tBox.Text.Length > 0) 
    { 
        app.Visible=false; 
        // Setting these variables is comparable
        // to passing null to the function. 
        // This is necessary because the C# null
        // cannot be passed by reference. 
        object template=Missing.Value; 
        object newTemplate=Missing.Value; 
        object documentType=Missing.Value; 
        object visible=true; 
        object optional = Missing.Value; 
        _Document doc = app.Documents.Add(ref template, 
           ref newTemplate, ref documentType, ref visible); 
        doc.Words.First.InsertBefore (tBox.Text ); 
        Word.ProofreadingErrors we = doc.SpellingErrors; 
        iErrorCount = we.Count; 
        doc.CheckSpelling( ref optional, ref optional, ref optional, 
            ref optional, ref optional, ref optional, ref optional, 
            ref optional, ref optional, ref optional, 
            ref optional, ref optional); 
        if (iErrorCount == 0) 
            lLbl.Text = "Spelling OK. No errors corrected "; 
        else if (iErrorCount == 1) 
            lLbl.Text = "Spelling OK. 1 error corrected "; 
        else 
            lLbl.Text = "Spelling OK. " + iErrorCount + 
                                    " errors corrected "; 
        object first=0; 
        object last=doc.Characters.Count -1; 
        tBox.Text = doc.Range(ref first, ref last).Text; 
    } 
    else 
        lLbl.Text = "Textbox is empty"; 
    object saveChanges = false; 
    object originalFormat = Missing.Value; 
    object routeDocument = Missing.Value; 
    app.Quit(ref saveChanges, ref originalFormat, ref routeDocument); 
}

拼写检查器使用单词

我对C#没有太多经验,但我想你有一个带有GUI、按钮、标签和文本框的应用程序。

方法button1_Click需要为按钮分配一个操作,当被单击时,它是按钮的一种事件侦听器。单击此按钮时,将执行button1_Click,并调用方法fSpellCheck(textBox1 , label1 );

方法fSpellCheck(textBox1 , label1 );实现了检查由文本框插入的单词的算法(注意fSpellCheck的参数中的文本框引用)。该方法检查单词是否有错误,如果单词正确或错误(有错误),或者文本框为空,则该方法在标签lLbl中打印单词控制的结果。

这基本上就是上面代码所做的。

1) 它以隐藏模式打开一个新的Word实例
2) 它将文本框中的文本插入文档的第一部分
3) 它调用单词文档上的拼写检查器
4) 它从拼写检查器中获取错误计数,并将错误数打印到标签
5) 它要求Word更正文档中的错误
6) 它将单词文档中的更正文本复制回您的文本框
7) 它关闭文档并退出隐藏的Word实例

您在项目中需要做什么:
1.创建一个标签(如果您还没有)
2.创建一个文本框(如果您还没有)
3.创建一个按钮(如果您还没有)

在按钮中添加一个点击事件,然后在该代码中,像在本代码中那样调用fSpellCheck,并将标签和文本框作为参数。