Winform 巨好看的控件库推荐:MaterialSkin.2

这篇具有很好参考价值的文章主要介绍了Winform 巨好看的控件库推荐:MaterialSkin.2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MaterialSkin.2 控件包是在 MaterialSkin 及基础上二次开发而来的,在原控件基础上修复了一些Bug,丰富了主题以及动画效果,效果非常好。

  • MaterialSkin.2 现在处于不活跃状态
  • 文中用 MaterialSkin 代替 MaterialSkin.2

Preview

先贴几张演示Demo中的效果图:

......

Install

NuGet 中搜索 MaterialSkin 就能找到控件包,直接安装就行:
Winform 巨好看的控件库推荐:MaterialSkin.2

注意版本框架

工具箱可能不会显示 MaterialSkin 的控件,需要我们手动添加下:

工具箱 -> 右击:添加选项卡 -> 把 NuGet 安装包里的 DLL 文件拖到选项卡里
Winform 巨好看的控件库推荐:MaterialSkin.2

简单尝鲜

  • 切换使用MaterialForm
    添加引用:using MaterialSkin.Controls;
    窗体继承换成:public partial class Form1 : MaterialForm
    这个时候切换到设计器就可以看到Material效果的窗体了:
    Winform 巨好看的控件库推荐:MaterialSkin.2

切换主题以及配色方案

在后台代码中添加一个只读的MaterialSkinManager变量,通过这个变量来控制主题和配色,把ReadMe.md给出的例程调整一下方便后续调整:

public partial class Form1 : MaterialForm
{
  private readonly MaterialSkinManager materialSkinManager;   
  public Form1()
  {
    InitializeComponent();

    materialSkinManager = MaterialSkinManager.Instance;	// 初始化 MaterialSkinManager 实例
    materialSkinManager.AddFormToManage(this);	// 将要应用 Material Design 的窗体添加到管理列表中
    materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;	// Theme 属性用来设置整体的主题
    materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);	// ColorScheme 属性来设置配色方案
  }
}

上面代码写完运行程序就会是我们配置的配色及主题:

Winform 巨好看的控件库推荐:MaterialSkin.2

MaterialSkinManager主要是通过Themes以及ColorScheme来控制页面的显示效果,前者控制主题,后者控制配色:

  • Themes主要是用来切换深色和浅色主题的,对应LIGHTDARK

  • ColorScheme主要是用来调整页面的配色方案的,它的构造函数提供了两种不同的重载形式,用于创建颜色方案:

    • public ColorScheme(Primary primary, Primary darkPrimary, Primary lightPrimary, Accent accent, TextShade textShade)
      

      这个构造函数接受 PrimaryAccent 枚举类型作为参数,用于指定主颜色和强调色。Primary 枚举包含一系列预定义的主颜色,而 Accent 枚举包含一系列预定义的强调色。此构造函数还接受 TextShade 枚举类型的参数,用于指定文本的明暗色调。通过使用这个构造函数,你可以轻松地选择 颜色方案的不同变体。[例程中使用的就是这个重载]

    • public ColorScheme(Color primary, Color darkPrimary, Color lightPrimary, Color accent, TextShade textShade)
      

      这个构造函数接受 Color 类型的参数,用于直接指定自定义的颜色。你可以传入具体的颜色对象作为参数,以定义主颜色、深色主颜色、浅色主颜色、强调色以及文本明暗色调。

    先看主题,创建一个改变主题的MaterialButton实现深色和浅色主题的切换了:

private void btn_ChangeTheme_Click(object sender, EventArgs e)
{
    materialSkinManager.Theme = materialSkinManager.Theme == MaterialSkinManager.Themes.DARK ? MaterialSkinManager.Themes.LIGHT : MaterialSkinManager.Themes.DARK;
}

再看配色方案,在此之前我们先在页面上随便加一些控件便于显示配色效果:

Winform 巨好看的控件库推荐:MaterialSkin.2

更改配色方案:

private int colorSchemeIndex;   // 通过更换次数,方便循环更换颜色

private void btn_SwitchColor_Click(object sender, EventArgs e)
{
    colorSchemeIndex++;
    if (colorSchemeIndex == 6)
    {
        colorSchemeIndex = 0;
    }
    SwitchColor(colorSchemeIndex);
}

private void SwitchColor(int colorSchemeIndex)
{
    switch (colorSchemeIndex)
    {
        case 0:
            materialSkinManager.ColorScheme = new ColorScheme(
                materialSkinManager.Theme == MaterialSkinManager.Themes.DARK ? Primary.Teal500 : Primary.Indigo500,
                materialSkinManager.Theme == MaterialSkinManager.Themes.DARK ? Primary.Teal700 : Primary.Indigo700,
                materialSkinManager.Theme == MaterialSkinManager.Themes.DARK ? Primary.Teal200 : Primary.Indigo100,
                Accent.Pink200,
                TextShade.WHITE);
            break;
        case 1:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.Green600,
                Primary.Green700,
                Primary.Green200,
                Accent.Red100,
                TextShade.WHITE);
            break;
        case 2:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.BlueGrey800,
                Primary.BlueGrey900,
                Primary.BlueGrey500,
                Accent.LightBlue200,
                TextShade.WHITE);
            break;
        case 3:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.Red800,
                Primary.Red900,
                Primary.Red500,
                Accent.Green200,
                TextShade.WHITE);
            break;
        case 4:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.Yellow800,
                Primary.Yellow900,
                Primary.Yellow500,
                Accent.DeepOrange200,
                TextShade.WHITE);
            break;
        case 5:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.DeepOrange800,
                Primary.DeepOrange900,
                Primary.DeepOrange500,
                Accent.Yellow200,
                TextShade.WHITE);
            break;
        case 6:
            materialSkinManager.ColorScheme = new ColorScheme(
                Primary.Lime800,
                Primary.Lime900,
                Primary.Lime500,
                Accent.Green200,
                TextShade.WHITE);
            break;
    }
    Invalidate(); // 重绘控件
}

配色是GithubExample以及用户issue里的配色方案,大家如果要用的话,可以参考:Material Skin 指南 中文翻译文档

看看效果:

Winform 巨好看的控件库推荐:MaterialSkin.2

MaterialSkin实现了很丰富的动画效果,But...

默认的蓝粉配色就已经很好看了,大家如果有什么酷炫帅气的配色方案,欢迎在评论区留言交流!🆗这套控件库好玩的东西还有很多,大家可以自己上手试试,Github仓库中也提供了一个比较全的演示Demo,可以去看看,强烈推荐!!!文章来源地址https://www.toymoban.com/news/detail-505742.html

到了这里,关于Winform 巨好看的控件库推荐:MaterialSkin.2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 想自学写个操作系统,有哪些推荐看的书籍?

    哈喽,我是子牙,一个很卷的硬核男人。喜欢研究底层,聚焦做那些大家想学没地方学的课程:手写操作系统、手写虚拟机、手写编程语言… 今天我们将站在一个 自学者的角度 来聊聊如何 实现自己的操作系统 。并为大家推荐几本能够帮助你巩固知识,修炼内功的书籍,这

    2024年02月06日
    浏览(35)
  • WPF使用MaterialDesign -- 好看的控件先从button开始

    没有前言 在WPF控件效果这一块,很显然比winfrom要好很多,但想要做出真正好看的控件,我个人觉得还是需要用一些已有的东西比较好,比如MaterialDesign,控件种类多,自带很多图标,上手比较容易,还囊括了多个平台,所以MaterialDesign算是一个比较好的选择。 GitHub地址:ht

    2024年02月04日
    浏览(25)
  • 界面控件DevExpress WinForm——属于WinForm组件的MVVM框架

    DevExpress WinForm拥有180+组件和UI库,能为 Windows Forms 平台创建具有影响力的业务解决方案。 DevExpress WinForm 能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任! 注意 :DevExpress WinForm v22.2已经正式发布,新版

    2023年04月09日
    浏览(37)
  • C# Winform Label 控件

    目录 一、概述 二、基本用法 1.控件内容显示 2.控件的外观 3.自定义控件的大小 4.控件的内边距  5.设置文本的固定位置 6.控件的事件 结束 Label 控件是 winform 开发中最常用的一个控件,一般用做显示文本,也有时用做打开链接等操作。 新建一个 winform 项目,点击 form1 界面,

    2024年02月09日
    浏览(35)
  • C# WinForm —— 06 常用控件

    公共控件 功能 Label 标签,UI上的提示性文字 TextBox 文本框 RadioButton 单选按钮 CheckBox 复选框 ComboBox 下拉框,只能选择一个选项 CheckedListBox 带复选框的列表项,可以选择多个选项的下拉菜单 DateTimePicker 日期时间选择控件 ListBox 列表框 ListView 以五种不同视图显示项的集合 Mask

    2024年04月10日
    浏览(37)
  • C# WinForm —— 05 控件简介

    简介 窗体中用于输入或操作的对象,有自己的属性、方法、事件 特征 可视化,与用户进行交互,属性,方法,事件,可供开发人员使用,可发布和重用 控件开发 复合控件:各种控件组合起来,形成一个新的控件 扩展控件:现有控件上派生出一个新的控件,为原有框架增加

    2024年04月12日
    浏览(25)
  • C# WinForm 跨线程访问控件

    在WinForm开发中,经常会碰到主线程代码运行过程中需要刷新窗体控件的情况,如果直接在其他线程中去操作窗体控件,这时会抛出线程间操作无效的异常信息,因为窗体控件是由主线程创建的,C#强制要求代码必须是线程安全的,所以不允许跨线程访问。需要使用控件的Inv

    2024年02月04日
    浏览(30)
  • Winform自定义控件 —— 指示灯

             在开始阅读本文之前,如果您有学习创建自定义控件库并在其他项目中引用的需求,请参考: 在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用 https://blog.csdn.net/YMGogre/article/details/126508042 目录 1、应用场景:  1.1、本文的应用场景:  2、所需资源: 

    2024年02月04日
    浏览(38)
  • Winform自定义控件 —— 水印文本框

             在开始阅读本文之前,如果您有学习创建自定义控件库并在其他项目中引用的需求,请参考: 在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用 https://blog.csdn.net/YMGogre/article/details/126508042 目录 1、应用场景:  2、所需资源:  3、源代码:  4、使用方

    2024年02月02日
    浏览(45)
  • 【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件

    MenuStrip 作为一个容器可以包含多个菜单项。 MenuStrip 的重要属性包括: Name :菜单的名字 Dock :菜单的停靠位置 Items :菜单项的集合 ToolStripMenuItem ToolStripMenuItem 是 MenuStrip 中的菜单项,可以有以下属性和功能: ShortcutKeys :为菜单项设置快捷键,例如 Alt+F , Ctrl+N 等 DropDown

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包