C# winform 使用 Markdown 文件作為說明文件(附完整程式碼)

在 winform 中有個元件叫做 HelpProvider,他就是用來當作「說明文件(幫助文件)」的,只是因為筆者很懶,不想維護多個說明文件,而且也習慣 Markdown 語法,有些比較小的專案就是寫 README.md,但是使用者不容易閱讀,如果轉為 PDF,有些格式又會跑掉,沒有那麼美觀。於是筆者就把 Markdown 文件在 C# 中轉換為 HTML 語法,再使用 winform 的簡易瀏覽器 WebBrowser 開啟,讓使用者可以在程式內閱讀說明文件。

本次使用的是 Markdig 套件,他可以把 Markdown 轉換為 HTML,在 Github 上有 3.1K 個 Star

首先先使用 NuGet 安裝 Markdig 套件
    
dotnet add package Markdig --version 0.30.2
    

直接附上完整程式碼:

        this.KeyPreview = true;
        this.KeyDown += ((sender, args) =>
        {
            if (args.KeyCode == Keys.F1)
            {
                Form1 form = new Form1()
                {
                    Text = "說明",
                    Size = new Size(600, 600),
                    StartPosition = FormStartPosition.CenterScreen,
                    FormBorderStyle = FormBorderStyle.SizableToolWindow,
                };

                string path = @"README.md";
                string mdHtml = Markdown.ToHtml(File.ReadAllText(path));

                WebBrowser webBrowser = new WebBrowser()
                {
                    Dock = DockStyle.Fill,
                    DocumentText = mdHtml,
                };
                form.Controls.Add(webBrowser);

                form.Show();
            }
        });
    

README.md 範例:

# Ruyut WinForms App Example

這是簡易的操作手冊

## 快捷鍵

F1: 開啟說明

F2 : 開啟設定

Alt + F4: 關閉程式

## 回報問題

[點我回報問題](https://ruyut.com)
    

執行畫面:

留言