本文概述
每个人都喜欢Material Design, 这是一种全面的设计, 可作为跨平台和设备的视觉, 运动和交互设计的指南。尽管”Material Design”是Android操作系统和其他Google产品专门使用的设计, 但你仍可以根据需要和在任何地方使用该设计。
要在WinForms应用程序中使用Material设计, 你可以使用MaterialSkin库根据Google的Material Design Principles将主题添加到.NET WinForms, C#或VB.Net。该库遵循Material Design规范中定义的准则, 并使用相同的组件和功能。
1.通过NuGet安装MaterialSkin
首选的安装方式是通过NuGet。通过访问NuGET程序包管理器, 使用Visual Studio安装程序包。在Visual Studio右上方的解决方案资源管理器中右键单击你的项目, 然后在下拉菜单中选择”管理NuGet程序包”:
在紧急窗口中, 转到”浏览”选项卡并搜索MaterialSkin, 在列表中选择包(已更新最新版本, 即MaterialSkin)并将其安装在你的项目中:
注意
根据你使用的.NET Framework版本, 你将需要下载特定版本的插件。例如, MaterialSking.Updated包至少需要.NET Framework 4.6.2。
软件包的安装完成后, 你将可以在项目中使用Material Design。请访问Github上的官方存储库, 以获取有关此库的更多信息。
2.将Material控件添加到控件工具箱
使用MaterialSking, 你将能够像使用传统控件一样将控件拖放到窗体中。为了进行组织, 我们建议你创建一个自定义的”工具箱”选项卡, 以存储在该库的专有控件中。右键单击工具箱的空白区域, 然后从下拉菜单中选择添加选项卡, 这将允许你创建一个空白选项卡并提供自定义名称, 在这种情况下, 我们将其命名为Material Controls:
然后右键单击你创建的自定义标签(地铁控件), 然后从菜单中选择选择项目:
在新窗口中, 转到” .NET Framework组件”选项卡, 然后单击”浏览”:
出现文件浏览器后, 你需要导航到WinForms项目的文件夹, 然后在packages文件夹内搜索MaterialSking文件夹, 然后在lib上。在lib文件夹中应该有一个dll文件, 单击打开选择它:
然后将出现一个加载栏, 控件将出现在.NET组件列表中, 最后单击OK:
默认情况下, 将选中所有组件, 但是你可以取消选择不需要的组件。最后, 控件将出现在先前创建的”控件”选项卡中:
你将能够像使用Windows的默认组件一样, 简单地在窗体中拖放所需的控件。
3.设置Material样式
直到上一步, 你现在可以像使用.NET的典型控件一样轻松地将元素拖放到窗体中。但是, 如果要为整个表单(不仅是表单内部的元素)提供”Material样式”, 则需要修改表单的代码。
首先导入类顶部的MaterialSkin命名空间:
using MaterialSkin;
using MaterialSkin.Controls;
然后, 你将能够更改表单的类型。通常, 表单的声明属于Form类型, 例如Form1:Form类, 但是如果要使用Material Style进行声明, 则需要将Form的类型更改为MaterialForm:
namespace Sandbox
{
public partial class Form1 : MaterialForm
{
// ... //
// ... //
// ... //
现在, 在你的类的构造函数中, 在本例中为Form1中, 在InitializeComponent函数下, 添加一些代码以使用”Material外观”而不是默认外观并更改表单的调色板:
public Form1()
{
InitializeComponent();
// Create a material theme manager and add the form to manage (this)
MaterialSkinManager materialSkinManager = MaterialSkinManager.Instance;
materialSkinManager.AddFormToManage(this);
materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
// Configure color schema
materialSkinManager.ColorScheme = new ColorScheme(
Primary.Blue400, Primary.Blue500, Primary.Blue500, Accent.LightBlue200, TextShade.WHITE
);
}
如你所见, WinForms的自定义控件的实现非常简单。保存更改并运行表单以查看会发生什么!
4.例子
下面的示例演示如何在一个简单的WinForms项目的主窗体上创建”Material样式”窗体:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
// Import the Material Skin
using MaterialSkin;
using MaterialSkin.Controls;
namespace Sandbox
{
public partial class Form1 : MaterialForm
{
public Form1()
{
InitializeComponent();
// Create a material theme manager and add the form to manage (this)
MaterialSkinManager materialSkinManager = MaterialSkinManager.Instance;
materialSkinManager.AddFormToManage(this);
materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
// Configure color schema
materialSkinManager.ColorScheme = new ColorScheme(
Primary.Blue400, Primary.Blue500, Primary.Blue500, Accent.LightBlue200, TextShade.WHITE
);
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
先前的代码将生成以下形式:
然后, 你可以简单地从步骤2中创建的工具箱中拖放一些控件, 并创建出色的表单:
有关更多信息或阅读该库的文档, 我们建议你在此处访问Github上的官方存储库。尽管此项目不再处于积极的开发中, 但它做得很好, 并且包含许多有用的组件, 因此仍然值得欢迎。此外, 如果你打开问题, 社区可能仍然会有所帮助。
编码愉快!
评论前必须登录!
注册