禁用授课模式表格排序(EasiPluginDisableTableSort)是希沃白板的原生插件,用于移除授课模式下表格元素的排序功能,避免表格排序意外影响课堂。
- 授课模式(Display):表格元素不再具备排序交互——
- 点击单元格不再触发数据重排(
SortManager.SortAuto); - 悬停表格不再出现升序/降序排序箭头(
SortController)。
- 点击单元格不再触发数据重排(
- 备课模式(Edit):不受任何影响,单元格选中、编辑等操作保持正常。
- 单元格遮罩(备课设置遮罩、授课点击显示)不受影响,走独立事件链路。
排序功能的宿主实现位于 Cvte.Paint.Table.dll,包含两条触发路径:
| 路径 | 宿主调用链 |
|---|---|
| 单元格点击 | CellOperation.CellService_CellClick → SortManager.SortAuto → Sort → 数据重排 |
| 悬停显示箭头 | TableElement.TableElement_OnMouseMove → SortManager.ShowSortCtroller → 点击箭头 → Sort |
插件通过两条公开 API 组合将其移除:
- 阻断单元格点击:用
EventManager.RegisterClassHandler为TableCell.CellClickedEvent注册类处理器,在授课模式下将点击置为Handled = true,使宿主的点击处理器(CellService_CellClick)不再执行,从而取消SortAuto数据重排; - 隐藏排序箭头:通过
ITableElement.SortCtrl获取排序箭头控件SortController,置为Collapsed并监听其可见性变化持续抑制,防止悬停显示的箭头被点击再次触发排序。
两条路径相互独立,缺一不可:仅隐藏箭头无法阻止单元格点击直接重排;仅拦截点击无法阻止悬停箭头触发的排序。
dotnet build -c Release产物位于 bin/Release/:
| 产物 | 说明 |
|---|---|
禁用授课模式表格排序.<版本>.exe |
独立安装包,可直接分发,双击安装 |
禁用授课模式表格排序.<版本>.zip |
插件文件包(安全软件报备 / 人工检查用) |
DisableTableSortPlugin.<版本>.enp |
希沃白板应用中心托管包 |
未显式指定版本时默认 1.0.0;可在 .csproj 中通过 <Version> 覆盖。
| 项 | 要求 |
|---|---|
| 系统 | Windows 10 及以上 |
| 宿主 | 希沃白板 5(本仓库在 5.2.4.9855 上验证) |
| SDK | .NET 6 SDK(dotnetCampus.EasiPlugin.Sdk 2.1.1-alpha.3,从 NuGet 还原) |
| IDE | Visual Studio 2022 17.5.2+(或 .NET CLI) |
构建前需先安装希沃白板并至少启动一次:插件 SDK 构建时通过注册表
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Seewo\EasiNote5定位宿主程序集并引用。
本 README 文档由 AI 辅助生成。如有问题,请提交 Issue 或与我联系!