轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2021-01-27 11:50:37.703|閱讀 376 次
概述:DotNetBar for Windowsforms中的命令可幫助您將操作(例如按鈕)的發(fā)起者與執(zhí)行該操作的邏輯分開。它們還可以幫助您將當前程序狀態(tài)(例如“啟用”,“文本”或“已檢查”)傳達給使用該命令的任何用戶界面組件。這允許多個不同的源調(diào)用相同的命令邏輯,并且允許自定義命令邏輯并將其傳達給不同的目標。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DotNetBar for WinForms是一個擁有89個組件的用戶界面控件套包,用戶可以使用Visual Studio 2005-2015輕松地創(chuàng)建專業(yè)的用戶界面。十多年來DotNetBar幫助開發(fā)人員輕松地創(chuàng)建易用的專業(yè)Windows Forms (WinForms) 用戶界面。DotNetBar是全世界第一個引入全功能Office 2013、Office 2010、Windows 7、 Office 2007 style Ribbon控件以及Visual Studio 2005-2013,Metro等主題風格和樣式的控件。
DotNetBar for Windowsforms中的命令可幫助您將操作(例如按鈕)的發(fā)起者與執(zhí)行該操作的邏輯分開。它們還可以幫助您將當前程序狀態(tài)(例如“啟用”,“文本”或“已檢查”)傳達給使用該命令的任何用戶界面組件。這允許多個不同的源調(diào)用相同的命令邏輯,并且允許自定義命令邏輯并將其傳達給不同的目標。
命令基于ICommand接口,尤其是實現(xiàn)ICommand接口的Command對象。命令示例包括文件操作(如保存,打開和打印)或編輯命令(如復制,剪切和粘貼)。
使用命令,您可以將執(zhí)行操作的實際邏輯與調(diào)用命令的源分開。您可以有多個調(diào)用同一命令的源,并且可以通過該命令將應(yīng)用程序狀態(tài)傳達回使用它的源。
使用Commands的最直接方法是從Visual Studio.NET Toolbox將Command組件添加到表單中,處理其Executed事件,然后通過在源代碼(如ButtonItem)上設(shè)置Command屬性,將其分配給所需的任何源代碼。此方法的優(yōu)點是您可以依靠Visual Studio.NET設(shè)計時功能來操縱命令。
另一種方法是將命令定義為靜態(tài)類上的靜態(tài)成員,并將其分配給用戶界面元素。這種方法的優(yōu)點是可以輕松地從應(yīng)用程序的任何形式或部分訪問命令。
命令概念
DotNetBar中的命令模型包含3個主要概念:
指令
通過實現(xiàn)ICommand接口來創(chuàng)建命令。Command對象實現(xiàn)ICommand接口,您可以從其繼承以添加所需的任何自定義功能。
與命令關(guān)聯(lián)的操作放置在Executed事件處理程序的內(nèi)部。您可以使用PreviewExecuted事件來決定是否允許觸發(fā)Executed事件。Command提供了Execute方法,您可以調(diào)用該方法以編程方式引發(fā)Executed事件。
命令還提供了使用命令傳播到所有命令源的屬性。這包括“啟用”,“文本”,“已檢查”等屬性。例如,當您設(shè)置Enabled屬性時,該值將傳播到支持該屬性的所有命令源。不提供該屬性的源將被忽略。這樣,您可以在無法執(zhí)行命令時簡單地禁用附加的命令源。此屬性傳播適用于Command對象上公開的所有其他屬性。
要設(shè)置在Command上未顯式定義的任何屬性,提供了SetValue方法,該方法允許您按名稱設(shè)置屬性。
命令源
命令源是實現(xiàn)ICommandSource接口的任何對象。DotNetBar中的BaseItem類和其他控件都實現(xiàn)ICommandSource接口,您可以在希望添加命令支持的任何其他對象上實現(xiàn)它。
ICommandSource公開了兩個屬性:
在內(nèi)部,實現(xiàn)ICommandSource的任何對象都將在分配給Command的Execute方法上調(diào)用Execute方法,以執(zhí)行命令操作,以響應(yīng)某些用戶生成的事件或其他類型的事件。
請注意,某些支持ICommandSource的對象(如LabelItem或LabelX)從不執(zhí)行命令,而是在命令本身上設(shè)置Text或Image屬性時可以反映命令的狀態(tài)。
命令管理器
CommandManager對象所代表的Command Manager是綁定Commands和Command Sources的粘合劑。命令源使用它來將源連接到命令(通過RegisterCommand和UnregisterCommand方法)。
通常,除非您在對象上實現(xiàn)ICommandSource,否則根本不需要與CommandManager進行交互。
RibbonPad示例提供了有關(guān)如何在應(yīng)用程序中使用命令的演示。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: