本文概述
- 1.通过NuGet安装框架
- 2.在工具箱中为Metro控件创建一个新选项卡
- 3.添加对Metro控件和字体的引用
- 4.使用框架
我们正在谈论MetroFramework, 此UI框架将Windows 8的Modern UI别名Metro UI带到任何.NET Windows Forms应用程序中。该框架添加了Metro样式的组件, 例如:
- 纽扣
- 组合框
- 复选框
- 单选按钮
- 切换
- 标签
- 链接
- 面板
- 滚动条
- 地铁
- 进度条
- ProgressSpinner
- TabControl
- 轨迹栏
- 自定义用户控件
- 上下文菜单
- 留言框
- DateTimePicker
- 格网
1.通过NuGet安装框架 首选的安装方式是通过NuGet。通过访问NuGET程序包管理器, 使用Visual Studio安装程序包。在Visual Studio右上方的解决方案资源管理器中右键单击你的项目, 然后在下拉菜单中选择” 管理NuGet程序包” :
文章图片
在紧急窗口中, 转到” 浏览” 选项卡并搜索Metromodernui, 在列表中选择软件包并将其安装在项目中:
文章图片
设置完成后, 你将可以使用软件包中包含的动态库。有关此库的更多信息, 请访问Github上的官方存储库。
2.在工具箱中为Metro控件创建一个新选项卡 使用MetroFramework, 你将能够像使用传统控件一样将控件拖放到窗体中。为了进行组织, 我们建议你创建一个自定义的” 工具箱” 选项卡, 以存储在MetroFramework的专有控件中。右键单击工具箱的空白区域, 然后从下拉菜单中选择添加选项卡, 这将允许你创建一个空白选项卡并提供自定义名称, 在这种情况下, 我们将其命名为Metro Controls:
文章图片
然后右键单击你创建的自定义标签(地铁控件), 然后从菜单中选择选择项目:
文章图片
在新窗口中, 转到” .NET Framework组件” 选项卡, 然后单击” 浏览” :
文章图片
出现文件浏览器后, 你需要导航到WinForms项目的文件夹, 然后在packages文件夹中搜索MetroModernUI文件夹, 然后在lib上, 最后在网络上。在net文件夹中应该有3个.dll文件, 你将只选择MetroFramework.dll文件并单击” 打开” 。
文章图片
默认情况下, 将选中所有组件, 但是你可以取消选择不需要的组件。最后, 控件将出现在先前创建的” 控件” 选项卡中:
文章图片
你将能够像使用Windows的默认组件一样, 简单地在窗体中拖放所需的控件。
3.添加对Metro控件和字体的引用 通过上一步, 你可以在项目中拖放组件并使用它们, 但是, 如果你决定在其他计算机上部署项目, 则该组件将不起作用, 因为这些组件不存在。因此, 你需要在项目中添加对MetroFramework的DLL文件的引用, 以便能够在任何地方使用它们。
转到Visual Studio右上角的解决方案资源管理器, 右键单击你的项目, 然后单击” 添加” 菜单, 然后单击” 参考” :
文章图片
在紧急窗口上, 搜索” 浏览” 选项卡, 然后单击” 浏览” 按钮。再次如我们先前在步骤2中所做的那样, 在软件包的MetroModern文件夹内搜索net文件夹, 然后选择3个dll文件:
文章图片
单击添加, 然后在引用管理器窗口中选择确定。然后在你的项目的引用上, 应该出现对DLL文件的3个引用:
文章图片
现在, 你可以使用此框架执行任何操作!
4.使用框架 尽管大多数功能都以相同的方式工作, 但是如果你想直接从框架中使用代码(例如Alert框), 那么你将需要在类的顶部导入所需的名称空间:
using MetroFramework.Forms;
using MetroFramework;
例如, 你可以在表单中添加带有可视化构建器的按钮, 然后双击它, 并且click事件将以与默认控件相同的方式自动添加。现在, 在单击事件中, 你可以使用以下方法显示” 地铁箱” :
MetroMessageBox.Show(this, "Your message here.", "Title Here", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand);
它将显示一个带有Metro风格的消息框:
文章图片
有关更多信息, 我们建议你阅读图书馆作者的官方博客中的文档, 或在此处查看Github的官方存储库。
编码愉快!
推荐阅读
- 如何在WinForms应用程序中使用带有C#的Material Design控件
- 如何在WinForms中使用C#列出所有Windows进程及其属性(类似任务管理器)
- 如何在C#中的WinForms应用程序中实现Jint(JavaScript解释器)
- 如何在Symfony 3中将Markdown转换为HTML
- 使用C#在Winforms中创建扫描应用程序
- 无法与主机smtp.gmail.com(173.194.205.108)建立SwiftMailer连接[#0]
- centos7如何查看已有用户
- RocketMQ消息发送流程
- 全面认识Windows环境变量