彩票走势图

用户界面控件套包DotNetBar for WinForms中的Metro UI入门教程(下)

翻译|使用教程|编辑:况鱼杰|2020-01-09 13:22:25.247|阅读 1343 次

概述:DotNetBar for WinForms是一个拥有超多组件并能轻松创建专业用户界面的控件套包。本文将会介绍该产品的Metro UI入门教程,此为本教程的下篇。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包,用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。

点击下载DotNetBar for WinForms


本文将会介绍该产品的Metro UI入门教程,此为本教程的下篇。(上篇

MetroShell

MetroShell是一个停靠在表单顶部的根控件,它提供表单镶边(用于关闭,最小化和最大化表单的系统按钮),后台或应用程序菜单,快速访问工具栏和顶层应用程序选项卡。MetroShell控件显示的许多元素都是可选的,因此,您不必具有应用程序菜单或后台,便可以在设计时将其删除。同样的,也适用于快速访问工具栏甚至选项卡。

应用菜单
使用文件按钮打开MetroShell控件上的应用程序菜单:

要创建默认的后台应用程序菜单或标准菜单,请在VS.NET中使用右键单击上下文菜单选项,如下图所示:

如果您的应用程序不需要应用程序菜单,只需选择File(文件按钮并将其删除。

快捷工具栏

快速访问工具栏(QAT)提供对应用程序中常用命令的访问。下图显示了QAT的示例:

您可以通过在设计时添加默认命令来提供默认命令。要在设计时将按钮添加到QAT,请右键单击QAT,然后选择Create(按钮上下文菜单命令。如果希望QAT中的某些按钮永久存在并且最终用户无法删除,请在这些按钮上设置CanCustomize = false。

用户可以通过右键单击命令并从上下文菜单中选择适当的命令,从MetroToolbar控件向QAT添加命令。请注意,在创建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 –指示控件是否显示标题,包括系统按钮,表单标题和QAT。

  • CategorizeMode –指定如何在QAT自定义对话框中对命令进行分类。

  • GlobalContextMenuBar –指定与此控件关联的上下文菜单栏,该菜单栏用作全局项功能的一部分。

  • Items –获取出现在控件的选项卡条区域中的项目的集合。

  • MouseWheelTabScrollEnabled –指示在选项卡条上使用鼠标滚轮时是否更改了选定的选项卡。

  • QatFrequentCommands –获取自定义快速访问工具栏菜单上显示的命令集合,这些命令使最终用户可以快速将其加到QAT或从中删除。此处显示的命令应该在MetroToolbar控件上可用。

  • QatLayout –获取或设置快速访问工具栏的布局。此属性用于保存和加载QAT定制。

  • QatLayoutChanged –获取最终用户是否对QAT进行了任何自定义。

  • QuickToolbarItems –获取包含在QAT上显示的所有项目的集合。

  • SelectedTab –获取或设置当前选定的Metro选项卡。

  • SystemText –获取包含MetroShell控件使用的所有内部字符串的对象。 执行本地化时,您将更改此对象的属性。

  • TabStripFont –获取或设置Metro标签条区域使用的字体。

  • TitleText –指定表单标题栏文本。 默认情况下,控件使用Form.Text在标题栏上显示它,但是如果您希望显示的标题文本与Form.Text不同,或者如果您希望使用我们的文本标记,请设置此属性。

  • UseCustomizeDialog –指示是否使用内置的自定义对话框自定义快速访问工具栏。您可以处理EnterCustomize事件以显示您的自定义对话框,而不是用于自定义的内置对话框。

  • UseExternalCustomization –指示是否使用自定义上下文菜单内容而不是最终用户单击MetroToolbar上的按钮时显示的内置自定义菜单内容。设置为true时,必须处理BeforeCustomizeMenuPopup事件以提供自己的自定义上下文菜单命令。

关键事件:

  • BeforeQatCustomizeDialog –在显示快速访问工具栏对话框之前发生此事件提供了取消显示内置对话框和显示自定义对话框的机会。

  • AfterQatCustomizeDialog –在快速访问工具栏对话框关闭后发生。

  • AfterQatDialogChangesApplied –在快速访问工具栏对话框上进行的任何更改应用于实际的快速访问工具栏之后发生。

  • BeforeAddItemToQuickAccessToolbar –在由于用户操作而将项目添加到快速访问工具栏之前发生。通过设置事件参数的Cancel = true,此事件提供了取消添加项目的功能。

  • BeforeCustomizeMenuPopup –在显示自定义弹出菜单之前发生,并提供取消菜单显示以及从自定义弹出菜单添加/删除菜单项的功能。

  • BeforeRemoveItemFromQuickAccessToolbar –在由于用户操作而从快速访问工具栏中删除项目之前发生。通过设置事件参数的Cancel = true,此事件提供了取消添加项目的功能。

  • TitleTextMarkupLinkClick –在单击TitleText标记中的文本标记链接时发生。可以使用“ a”标签创建标记链接。

关键方法:

  • AddItemToQuickAccessToolbar –将从BaseItem继承的对象添加到QAT。

  • RemoveItemFromQuickAccessToolbar –从QAT删除项目。

  • CreateTab –创建Metro标签和相关面板。

  • ShowQatCustomizeDialog –显示快速访问工具栏自定义对话框。

  • RegisterToolbar –向控件注册MetroToolbar,以便它可以参与QAT定制。

  • UnregisterToolbar –从QAT定制中删除MetroToolbar。

风格

Metro UI使用StyleManager组件控制其外观。现已开发了专有的配色方案生成算法,该算法将采用您指定的两种颜色,并为所有UI元素生成完整的配色方案,以使配色方案在视觉上令人愉悦并且非常适合Metro UI。添加MetroShell控件后,StyleManager会自动添加到表单中。

配色方案生成算法采用2种颜色作为输入:

  • Canvas(画布颜色是表单等的背景颜色。

  • Base(基本色是配色方案的主要特征色,与Canvas颜色一起使用以生成整个配色方案。

可以在StyleManager.MetroColorParameters对象上指定这些颜色。只需在VS.NET属性对话框中选择它,然后更改其值,如下所示:

环境属性,即BackColor,ForeColor

在StyleManager上选择Metro样式后,表单上的所有控件将自动接收Metro配色方案的环境设置,这意味着它们的BackColor和ForeColor属性将设置为匹配当前Metro主题。在某些情况下,您可能希望在控件上设置自定义BackColor和/或ForeColor属性,而又不想让StyleManager覆盖它们。在这种情况下,将StyleManagerAmbient组件添加到窗体中,该组件管理哪些控件已设置了环境属性。当您将StyleManagerAmbient组件添加到窗体中时,所有控件都会收到一个附加的属性EnableAmbientSettings,可用于指示哪些环境属性(如果有),StyleManager将在该特定控件上更改。

如何更改metro颜色表

Metro特定控件(例如MetroTab,MetroShell,MetroForm,MetroToolbar和MetroStatusBar)使用MetroColorTable对象中的颜色。要自定义这些系统颜色,您需要访问当前的MetroColorTable并更改其上的适当属性。 例如,要更改MetroShell呈现的MetroForm标题颜色,可以使用以下代码:

MetroColorTable table = DevComponents.DotNetBar.Metro.Rendering.MetroRender.GetColorTable();
table.MetroTab.ActiveCaptionText = Color.Green;
table.MetroTab.InactiveCaptionText = Color.Red;

请注意:如果您更改当前样式或更改StyleManager.MetroColorParameters,对MetroColorTable所做的任何更改都将被覆盖,并且需要再次进行。

点击此处查看上篇。


想要获得DotNetBar for WinForms更多资源、正版授权的伙伴,请咨询了解

关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。

慧聚IT


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP