在WinForms中使用MD皮肤

Material Skin for .Net WinForms

TODO: 本文由 赤石俊哉 翻译整理,您可以随意用于学习交流使用,转载之前请注明出处。


参考
GitHub - IgnaceMaes/MaterialSkin: Theming .NET WinForms, C# or VB.NET, to Google’s Material Design Principles.
以上参考文档为官方Readme文档。

当前(本文中的时间均以2016年7月23日为准),MaterialSkin的组件情况

Supported Dark & Light version Disabled mode Animated
Checkbox Yes Yes Yes
Divider Yes Yes N/A
Flat Button Yes Yes Yes
Label Yes Yes N/A
Radio Button Yes Yes Yes
Raised Button Yes Yes Yes
Single-line text field Yes Yes No
TabControl Yes N/A N/A
ContextMenuStrip Yes Yes Yes
ListView Yes Yes No
ProgressBar Yes Yes No
FloatingActionButton No No No
Dialogs No No No
Switch No No No
More… No No No

如何在你的程序中实现MaterialSkin

1.向你的工程中添加库

你可以用很多种方法来做这一步,最简单的方法就是添加一个NuGet包。右键点击你的工程,然后点击「管理NuGet程序包…」。搜索「MaterialSkin」然后点击安装。只要安装好了,库就会包含在在你的工程引用中。
当然你也可以通过程序包管理器控制台安装:PM> Install-Package MaterialSkin

另外一个方法就是从GitHub上克隆这个工程,然后自己编译这个库然后添加到自己的工程的引用中。

2.将MaterialSkin控件添加到你的工具栏中

如果你是通过NuGet来安装的,那么MaterialSkin.dll这个文件就会在//bin/Debug文件夹中。
你只需要将这个MaterialSkin.dll文件拖到你的IDE的工具栏上,所有的控件都会被添加到工具栏上。

3.继承MaterialForm

打开你想要添加皮肤的窗体的后端代码,让它继承MaterialForm,代替继承Form。
别忘了在using中添加库,它才能找到MaterialForm类!

C#(Form1.cs)

public partical class Form1 : MaterialForm

VB.NET(Form1.Designer.vb)

Partial Class Form1
    Inherits MaterialSkin.Controls.MaterialForm

4.初始化你的配色方案

设置你喜欢的颜色和主题。也同时将窗体添加到管理器以便它可以在之后更新窗体的配色方案和主题的变化。

C#(Form1.cs)

public Form1()
{
    InitializeComponent();

    var materialSkinManager = MaterialSkinManager.Instance;
    materialSkinManager.AddFormToManage(this);
    materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
    materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
}

VB.NET(Form1.vb)

Imports MaterialSkin

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim SkinManager As MaterialSkinManager = MaterialSkinManager.Instance
        SkinManager.AddFormToManage(Me)
        SkinManager.Theme = MaterialSkinManager.Themes.LIGHT
        SkinManager.ColorScheme = New ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE)
    End Sub
End Class

在WPF中使用Material Design

如果你喜欢.NET和MD,你当然得去看看ButchersBoy的Material Design Xaml Toolkit(英文)。
它是在WPF中使用的一个比较相近的工程。

示例图片

在WinForms中使用MD皮肤_第1张图片
在WinForms中使用MD皮肤_第2张图片
在WinForms中使用MD皮肤_第3张图片
在WinForms中使用MD皮肤_第4张图片
在WinForms中使用MD皮肤_第5张图片

你可能感兴趣的:(桌面程序)