NEWS

[DEVEXPRESS] Hướng dẫn sử dụng thư viện NHunspell để kiểm tra chính tả tiếng việt trong TextBox Winform

[DEVEXPRESS] Hướng dẫn sử dụng thư viện NHunspell để kiểm tra chính tả tiếng việt trong TextBox Winform
Đăng bởi: Thảo Meo - Lượt xem: 7743 11:31:32, 20/06/2019C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách kiểm tra lỗi chính tả tiếng việt khi nhập liệu trong lập trình C#.

[DEVEXPRESS] Spelling Checker Word in C# Winform

Trong hai bài viết trước, mình đã có hướng dẫn các bạn cách tách chữ tiếng việt ra khỏi hình ảnh, khi các bạn biết thư viện ocr chỉ giúp các bạn chính xác khoảng 85 - 90%.

Nghĩa là nó có thể sai lệch về độ chính xác, vì vậy chúng ta cần phải kiểm tra lỗi chính tả cú pháp của ngôn ngữ.

Nếu đoạn văn ít thì không sao, nhưng nếu đoạn văn dài thì bài viết này sẽ giúp ích cho người dùng kiểm tra lỗi chính tả một cách dễ dàng nhất.

Trong Devexpress đã cung cấp cho chúng ta một component SpellChecker, mình sẽ sử dụng công cụ này và bộ từ điển kiếm tra tiếng việt của NHunspell, và trong bài demo này mình sẽ hướng dẫn các bạn kiểm tra qua công cụ là MemoEdit trong Devexpress.

Hình ảnh demo ứng dụng kiếm tra chính tả tiếng việt (Spelling checker C#):

spelling_checer_demo

Đầu tiên, các bạn cần download bộ từ điển từ project của mình và copy vào solution như hình bên dưới, nhớ chọn thuộc tính là copy always nhé bạn.

dictionary_checker

  • Tiếp theo, mình sẽ cấu hình thuộc tính cho control SpellCheker c# như hình bên dưới đây

speeling_csharp

Bây giờ chúng ta sẽ code spelling checker cho C#:

public Form1()
{
    InitializeComponent();
    memoEdit1.Text = "Chieu buồn nghieng nắng biên va891ng mênh mông lan thag mình ta. kchie62u ";
    AppearanceObject.DefaultMenuFont = new Font("Tahoma", 10, FontStyle.Bold);
    AppearanceObject.ControlAppearance.ForeColor = Color.Red;
}

private void Form1_Load(object sender, EventArgs e)
{
    
    spellChecker.SpellCheckMode = SpellCheckMode.AsYouType;
    spellChecker.Check(memoEdit1);
}

private void btn_kiemtra_Click(object sender, EventArgs e)
{
    spellChecker.Check(memoEdit1);
}

Và dưới đây là câu lệnh bỏ các menu: copy, paste, cut, selectall khi chúng ta right-click để spelling check chính tả, nếu bạn nào không cần bỏ thì không thêm đoạn code này.

private void memoEdit1_Properties_BeforeShowMenu(object sender, BeforeShowMenuEventArgs e)
{
    foreach (DXMenuItem item in e.Menu.Items)
    {
        if (item.Tag != null && (item.Tag.Equals(StringId.TextEditMenuCopy)
            || item.Tag.Equals(StringId.TextEditMenuPaste) || item.Tag.Equals(StringId.TextEditMenuCut) || item.Tag.Equals(StringId.TextEditMenuSelectAll) || item.Tag.Equals(StringId.TextEditMenuDelete) || item.Tag.Equals(StringId.TextEditMenuUndo)))
        {
            item.Visible = false;
        }
    }
}

 

Thanks for watching!

 

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[DEVEXPRESS] Hướng dẫn sử dụng thư viện NHunspell để kiểm tra chính tả tiếng việt trong TextBox Winform
Đăng bởi: Thảo Meo - Lượt xem: 7743 11:31:32, 20/06/2019C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.