项目简介
这是一个 WinForm + Word 的电子病历文书编辑 Demo,演示了如何将 Word 编辑器嵌入 WinForm 程序, 实现类似电子病历系统的文书书写功能。


功能清单
| 功能 | 说明 |
|---|---|
| 生成模板 | 用 OpenXML SDK 生成带页眉、页脚、表格的病历模板 |
| 嵌入编辑 | 将 Word 窗口嵌入 WinForm,在程序内直接编辑 |
| 留痕模式 | Track Changes 修订模式,记录所有修改痕迹 |
| 权限控制 | 锁定/解锁文档,密码保护 |
| 插入图片 | 在光标位置插入图片 |
| 插入表格 | 在光标位置插入表格 |
| 修订管理 | 接受/拒绝所有修订 |
运行要求
- .NET 8 SDK
- Windows 操作系统
- 本地安装 Microsoft Word(Word Interop 依赖)
运行方式
powershell
复制
cd WordEditorDemo
dotnet run
项目结构
WordEditorDemo/
├── Program.cs # 入口
├── MainForm.cs # 主窗体(工具栏 + Word 嵌入 + 所有功能按钮)
├── MainForm.Designer.cs # Designer 文件
├── EmrTemplateGenerator.cs # OpenXML 模板生成器
├── NativeMethods.cs # Win32 API(嵌入 Word 窗口)
└── WordEditorDemo.csproj # 项目文件
技术栈
- UI 框架: WinForms (.NET 8)
- 文档生成: OpenXML SDK (DocumentFormat.OpenXml 3.5.1)
- Word 嵌入: Word Interop (Microsoft.Office.Interop.Word)
- 窗口嵌入: Win32 API (SetParent, MoveWindow)