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中使用的一個比較相近的工程。
示例圖片