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