翻譯|使用教程|編輯:況魚杰|2020-01-09 13:22:25.247|閱讀 1403 次
概述:DotNetBar for WinForms是一個擁有超多組件并能輕松創(chuàng)建專業(yè)用戶界面的控件套包。本文將會介紹該產品的Metro UI入門教程,此為本教程的下篇。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DotNetBar for WinForms是一個擁有89個組件的用戶界面控件套包,用戶可以使用Visual Studio 2005-2015輕松地創(chuàng)建專業(yè)的用戶界面。十多年來DotNetBar幫助開發(fā)人員輕松地創(chuàng)建易用的專業(yè)Windows Forms (WinForms) 用戶界面。
本文將會介紹該產品的Metro UI入門教程,此為本教程的下篇。(上篇)
MetroShell
MetroShell是一個停靠在表單頂部的根控件,它提供表單鑲邊(用于關閉,最小化和最大化表單的系統(tǒng)按鈕),后臺或應用程序菜單,快速訪問工具欄和頂層應用程序選項卡。MetroShell控件顯示的許多元素都是可選的,因此,您不必具有應用程序菜單或后臺,便可以在設計時將其刪除。同樣的,也適用于快速訪問工具欄甚至選項卡。
應用菜單
使用文件按鈕打開MetroShell控件上的應用程序菜單:
要創(chuàng)建默認的后臺應用程序菜單或標準菜單,請在VS.NET中使用右鍵單擊上下文菜單選項,如下圖所示:
如果您的應用程序不需要應用程序菜單,只需選擇File(文件)按鈕并將其刪除。
快捷工具欄
快速訪問工具欄(QAT)提供對應用程序中常用命令的訪問。下圖顯示了QAT的示例:
您可以通過在設計時添加默認命令來提供默認命令。要在設計時將按鈕添加到QAT,請右鍵單擊QAT,然后選擇Create(創(chuàng)建)按鈕上下文菜單命令。如果希望QAT中的某些按鈕永久存在并且最終用戶無法刪除,請在這些按鈕上設置CanCustomize = false。
用戶可以通過右鍵單擊命令并從上下文菜單中選擇適當的命令,從MetroToolbar控件向QAT添加命令。請注意,在創(chuàng)建MetroShell控件時,具有可以添加到QAT的命令的MetroToolbar工具欄也應該可用,即已加載。這將確保可以應用和加載最終用戶對QAT進行的任何自定義。您可以通過序列化MetroShell.QatLayout屬性(它是簡單的文本屬性)來加載和保存QAT定制,該屬性可以序列化到您選擇的任何存儲中,例如注冊表或文本文件。
為了防止將MetroToolbar中的按鈕添加到QAT中,請在這些按鈕上設置CanCustomize = false。QAT定制對話框中將使用MetroToolbar.Text屬性對可用的QAT命令進行分類。
幫助和設置按鈕
默認情況下,MetroShell控件在窗體標題中顯示Help(幫助)和Settings(設置)按鈕,如下所示:
這些按鈕不一定必須用于幫助和設置,您可以使用SettingsButtonText和HelpButtonText屬性更改其文本。 單擊按鈕時將調用事件SettingsButtonClick和HelpButtonClick。您可以使用MetroShell控件上的SettingsButtonVisible和HelpButtonVisible屬性隱藏任何按鈕。
MetroShell控件的關鍵屬性,方法和事件
關鍵特性:
CanCustomize –指示最終用戶是否可以自定義控件以及將項目添加到快速訪問工具欄中。
CaptionFont –指示用于呈現表單標題的自定義字體。
CaptionHeight –指示表單標題的自定義高度。
CaptionVisible –指示控件是否顯示標題,包括系統(tǒng)按鈕,表單標題和QAT。
CategorizeMode –指定如何在QAT自定義對話框中對命令進行分類。
GlobalContextMenuBar –指定與此控件關聯的上下文菜單欄,該菜單欄用作全局項功能的一部分。
Items –獲取出現在控件的選項卡條區(qū)域中的項目的集合。
MouseWheelTabScrollEnabled –指示在選項卡條上使用鼠標滾輪時是否更改了選定的選項卡。
QatFrequentCommands –獲取自定義快速訪問工具欄菜單上顯示的命令集合,這些命令使最終用戶可以快速將其加到QAT或從中刪除。此處顯示的命令應該在MetroToolbar控件上可用。
QatLayout –獲取或設置快速訪問工具欄的布局。此屬性用于保存和加載QAT定制。
QatLayoutChanged –獲取最終用戶是否對QAT進行了任何自定義。
QuickToolbarItems –獲取包含在QAT上顯示的所有項目的集合。
SelectedTab –獲取或設置當前選定的Metro選項卡。
SystemText –獲取包含MetroShell控件使用的所有內部字符串的對象。 執(zhí)行本地化時,您將更改此對象的屬性。
TabStripFont –獲取或設置Metro標簽條區(qū)域使用的字體。
TitleText –指定表單標題欄文本。 默認情況下,控件使用Form.Text在標題欄上顯示它,但是如果您希望顯示的標題文本與Form.Text不同,或者如果您希望使用我們的文本標記,請設置此屬性。
UseCustomizeDialog –指示是否使用內置的自定義對話框自定義快速訪問工具欄。您可以處理EnterCustomize事件以顯示您的自定義對話框,而不是用于自定義的內置對話框。
UseExternalCustomization –指示是否使用自定義上下文菜單內容而不是最終用戶單擊MetroToolbar上的按鈕時顯示的內置自定義菜單內容。設置為true時,必須處理BeforeCustomizeMenuPopup事件以提供自己的自定義上下文菜單命令。
關鍵事件:
BeforeQatCustomizeDialog –在顯示快速訪問工具欄對話框之前發(fā)生此事件提供了取消顯示內置對話框和顯示自定義對話框的機會。
AfterQatCustomizeDialog –在快速訪問工具欄對話框關閉后發(fā)生。
AfterQatDialogChangesApplied –在快速訪問工具欄對話框上進行的任何更改應用于實際的快速訪問工具欄之后發(fā)生。
BeforeAddItemToQuickAccessToolbar –在由于用戶操作而將項目添加到快速訪問工具欄之前發(fā)生。通過設置事件參數的Cancel = true,此事件提供了取消添加項目的功能。
BeforeCustomizeMenuPopup –在顯示自定義彈出菜單之前發(fā)生,并提供取消菜單顯示以及從自定義彈出菜單添加/刪除菜單項的功能。
BeforeRemoveItemFromQuickAccessToolbar –在由于用戶操作而從快速訪問工具欄中刪除項目之前發(fā)生。通過設置事件參數的Cancel = true,此事件提供了取消添加項目的功能。
TitleTextMarkupLinkClick –在單擊TitleText標記中的文本標記鏈接時發(fā)生。可以使用“ a”標簽創(chuàng)建標記鏈接。
關鍵方法:
AddItemToQuickAccessToolbar –將從BaseItem繼承的對象添加到QAT。
RemoveItemFromQuickAccessToolbar –從QAT刪除項目。
CreateTab –創(chuàng)建Metro標簽和相關面板。
ShowQatCustomizeDialog –顯示快速訪問工具欄自定義對話框。
RegisterToolbar –向控件注冊MetroToolbar,以便它可以參與QAT定制。
UnregisterToolbar –從QAT定制中刪除MetroToolbar。
風格
Metro UI使用StyleManager組件控制其外觀。現已開發(fā)了專有的配色方案生成算法,該算法將采用您指定的兩種顏色,并為所有UI元素生成完整的配色方案,以使配色方案在視覺上令人愉悅并且非常適合Metro UI。添加MetroShell控件后,StyleManager會自動添加到表單中。
配色方案生成算法采用2種顏色作為輸入:
Canvas(畫布)顏色是表單等的背景顏色。
Base(基本)色是配色方案的主要特征色,與Canvas顏色一起使用以生成整個配色方案。
可以在StyleManager.MetroColorParameters對象上指定這些顏色。只需在VS.NET屬性對話框中選擇它,然后更改其值,如下所示:
環(huán)境屬性,即BackColor,ForeColor
在StyleManager上選擇Metro樣式后,表單上的所有控件將自動接收Metro配色方案的環(huán)境設置,這意味著它們的BackColor和ForeColor屬性將設置為匹配當前Metro主題。在某些情況下,您可能希望在控件上設置自定義BackColor和/或ForeColor屬性,而又不想讓StyleManager覆蓋它們。在這種情況下,將StyleManagerAmbient組件添加到窗體中,該組件管理哪些控件已設置了環(huán)境屬性。當您將StyleManagerAmbient組件添加到窗體中時,所有控件都會收到一個附加的屬性EnableAmbientSettings,可用于指示哪些環(huán)境屬性(如果有),StyleManager將在該特定控件上更改。
如何更改metro顏色表
Metro特定控件(例如MetroTab,MetroShell,MetroForm,MetroToolbar和MetroStatusBar)使用MetroColorTable對象中的顏色。要自定義這些系統(tǒng)顏色,您需要訪問當前的MetroColorTable并更改其上的適當屬性。 例如,要更改MetroShell呈現的MetroForm標題顏色,可以使用以下代碼:
MetroColorTable table = DevComponents.DotNetBar.Metro.Rendering.MetroRender.GetColorTable(); table.MetroTab.ActiveCaptionText = Color.Green; table.MetroTab.InactiveCaptionText = Color.Red;
請注意:如果您更改當前樣式或更改StyleManager.MetroColorParameters,對MetroColorTable所做的任何更改都將被覆蓋,并且需要再次進行。
點擊此處查看上篇。
關注慧聚IT微信公眾號???,了解產品的最新動態(tài)及最新資訊。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: