原創|使用教程|編輯:郝浩|2013-05-21 16:02:22.000|閱讀 501 次
概述:FlowChart.NET是一個通用的流程圖控件,提供了用于創建或編輯圖表的直觀的用戶交互模型。在FlowChart中可以通過命令歷史實例來呈現撤消/重做,今天來看一下這個命令歷史記錄。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在FlowChart中可以通過命令歷史實例來呈現撤消/重做,這個實例是通過UndoManager來創建,同時也可以通過它的歷史訪問屬性。
撤消管理器將在執行之后將會添加命令到歷史上,如果說歷史隊列已滿就會刪除比較舊的歷史,然后添加新的歷史。可以使 用CommandHistory的Capacity屬性來指定在隊列中可以有多少個操作記錄。
這個歷史有個當前命令指針用于指示下一個命令不做或是重做,如果說當前的命令是不做,在歷史隊列中這個當前的指針就會被撤回,同時更加舊的也不會做 。如果說這個當前的指針不在最后的記錄中的話,任何一個新建的命令都可以被重做。每一次這個操作是做或重做,將會分別將會觸發ActionUndone 和ActionRedone事件。
想要查詢哪個是下一次將要撤銷或是重做的命令,可以使用NextUndo 以及 NextRedo read-only屬性。他們將會返回包含在隊列中的由當前指針指向的命令實例。如果說沒有進一步的不做或是重做的可能,這個屬性將會返回空值,你可以用它們來表示下一個將不做或是重做的命令的最終用戶。
C#
if (diagram.UndoManager.History.NextUndo == null) { // Everything has been undone miUndo.Enabled = false; miUndo.Text = "Undo"; } else { if (diagram.UndoManager.History.NextUndo is AddItemCmd) { // The next action to undo is item-creation miUndo.Enabled = true; miUndo.Text = "Undo Create"; } }
Visual Basic
If Diagram.UndoManager.History.NextUndo Is Nothing Then ' Everything has been undone miUndo.Enabled = False miUndo.Text = "Undo" Else If TypeOf Diagram.UndoManager.History.NextUndo Is AddItemCmd Then ' The next action to undo is item-creation miUndo.Enabled = True miUndo.Text = "Undo Create" End If End If
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件