在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 Material Design
WinForms Material Design
WinForms Material Design
WinForms Material Design
WinForms Material Design

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章