Skip to content

Repository files navigation

希沃白板插件 - 禁用授课模式表格排序

禁用授课模式表格排序(EasiPluginDisableTableSort)是希沃白板的原生插件,用于移除授课模式下表格元素的排序功能,避免表格排序意外影响课堂。

✨ 特性

  • 授课模式(Display):表格元素不再具备排序交互——
    • 点击单元格不再触发数据重排(SortManager.SortAuto);
    • 悬停表格不再出现升序/降序排序箭头(SortController)。
  • 备课模式(Edit):不受任何影响,单元格选中、编辑等操作保持正常。
  • 单元格遮罩(备课设置遮罩、授课点击显示)不受影响,走独立事件链路。

🛠️ 工作原理

排序功能的宿主实现位于 Cvte.Paint.Table.dll,包含两条触发路径:

路径 宿主调用链
单元格点击 CellOperation.CellService_CellClickSortManager.SortAutoSort → 数据重排
悬停显示箭头 TableElement.TableElement_OnMouseMoveSortManager.ShowSortCtroller → 点击箭头 → Sort

插件通过两条公开 API 组合将其移除:

  1. 阻断单元格点击:用 EventManager.RegisterClassHandlerTableCell.CellClickedEvent 注册类处理器,在授课模式下将点击置为 Handled = true,使宿主的点击处理器(CellService_CellClick)不再执行,从而取消 SortAuto 数据重排;
  2. 隐藏排序箭头:通过 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 或与我联系

About

希沃白板插件 - 禁用授课模式表格排序

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages