本帖最后由 箭头_Row 于 2025-12-4 18:01 编辑
箭头_Row 发表于 2024-9-9 16:22
優化方向一:
命令可循環打開、關閉側邊欄。
優化方向二:
問題描述:
當startmode設置為0時(關閉了開始界面 ),如果關閉了所有文檔,但之前命令已經打開了界面,如果側邊欄還顯示,那麼此時執行側邊欄中命令會引發錯誤,導致CAD卡掛掉。
優化方向三:
startmode設置為0時,應該記錄其狀態,方便再次打開文檔時重新顯示側邊瘭(此問題在寫其他界面亦會遇到)
解決方法思路:加一個bool參數記錄其狀態,使用Acaop.DocumentManager.DocumentDestroyed 事件記錄,在 Acaop.DocumentManager.DocumentActivated 事件中判斷其記錄決定 是否兩次打開界面 。
zjy2999 发表于 2025-11-27 11:33
以前发的编译的侧边栏可能错误,重新发,autocad2016可以使用
感谢分享,可以用
和尚大佬还是这么牛逼
箭头_Row 发表于 2025-12-4 17:53
問題描述:
當startmode設置為0時(關閉了開始界面 ),如果關閉了所有文檔,但之前命令已經打開了界面 ...
https://gilecad.azurewebsites.net/UserInterfaces_en.aspx
gile博客里給出了BUG修復方案,詳見此博客代碼。
// automatically hide the palette while none document is active (no document state)
var docs = Application.DocumentManager;
docs.DocumentBecameCurrent += (s, e) => Visible = e.Document == null ? false : wasVisible;
docs.DocumentCreated += (s, e) => Visible = wasVisible;
docs.DocumentToBeDeactivated += (s, e) => wasVisible = Visible;
docs.DocumentToBeDestroyed += (s, e) =>
{
wasVisible = Visible;
if (docs.Count == 1)
Visible = false;
};