个性化阅读
专注于IT技术分析

如何在WinForms应用程序中使用带有C#的Material Design控件

本文概述

每个人都喜欢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程序包”:

解决方案资源管理器nuget软件包

在紧急窗口中, 转到”浏览”选项卡并搜索MaterialSkin, 在列表中选择包(已更新最新版本, 即MaterialSkin)并将其安装在你的项目中:

注意

根据你使用的.NET Framework版本, 你将需要下载特定版本的插件。例如, MaterialSking.Updated包至少需要.NET Framework 4.6.2。

Material蒙皮WinForms c#

软件包的安装完成后, 你将可以在项目中使用Material Design。请访问Github上的官方存储库, 以获取有关此库的更多信息。

2.将Material控件添加到控件工具箱

使用MaterialSking, 你将能够像使用传统控件一样将控件拖放到窗体中。为了进行组织, 我们建议你创建一个自定义的”工具箱”选项卡, 以存储在该库的专有控件中。右键单击工具箱的空白区域, 然后从下拉菜单中选择添加选项卡, 这将允许你创建一个空白选项卡并提供自定义名称, 在这种情况下, 我们将其命名为Material Controls:

Material控件工具箱选项卡

然后右键单击你创建的自定义标签(地铁控件), 然后从菜单中选择选择项目:

物料控制工具箱

在新窗口中, 转到” .NET Framework组件”选项卡, 然后单击”浏览”:

WinForms MetroFramework选择组件

出现文件浏览器后, 你需要导航到WinForms项目的文件夹, 然后在packages文件夹内搜索MaterialSking文件夹, 然后在lib上。在lib文件夹中应该有一个dll文件, 单击打开选择它:

Material控件DLL文件

然后将出现一个加载栏, 控件将出现在.NET组件列表中, 最后单击OK:

物料控制清单

默认情况下, 将选中所有组件, 但是你可以取消选择不需要的组件。最后, 控件将出现在先前创建的”控件”选项卡中:

Material控件WinForms

你将能够像使用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)
        {

        }
    }
}

先前的代码将生成以下形式:

物料表格C#

然后, 你可以简单地从步骤2中创建的工具箱中拖放一些控件, 并创建出色的表单:

Material控件C#WinForms

有关更多信息或阅读该库的文档, 我们建议你在此处访问Github上的官方存储库。尽管此项目不再处于积极的开发中, 但它做得很好, 并且包含许多有用的组件, 因此仍然值得欢迎。此外, 如果你打开问题, 社区可能仍然会有所帮助。

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何在WinForms应用程序中使用带有C#的Material Design控件

评论 抢沙发

评论前必须登录!