C# Winform控件包 MaterialSkin使用教程 免费开源,支持中文!

如果没有拿到控件包DLL的可以去这篇文章里自取。C# Winform控件包分享,免费开源,支持中文!

控件比较多,我会抽出时间分控件逐一书写教程,不定时更新,感兴趣的朋友可以关注我。

本文将在以下几个方面进行指导。

1.控件包的导入

2.控件的简单用法

3.更换主题

1.控件包的导入

创建Winform项目(我用的是.net framework4.7.2)

打开工具箱,在工具箱内右击,点击添加选项卡,起个名字叫 skin

然后我们复制MaterialSkin.dll文件(没有文件的去上面的链接下载),到skin选项卡中粘贴。

等待片刻,加载完成后可以看到,skin选项卡下面多出来了很多控件,这些就是我们控件包里面的控件了。 

2.控件的简单用法

从工具箱中拖出来一个 MaterialButton 控件,发现已经可以正常显示了。

 按钮大小是默认适应文本内容的,想自行更改大小的,我后面会出更详细的教程,为Button单独写一篇详细用法。

MaterialSkin也带有一个窗体,我们先切换到后台代码。

添加一个 using MaterialSkin.Controls; 的引用。

然后再将窗体的继承换成 MaterialForm ,如图:

 完成这两个操作后,再次返回窗体设计界面,发现窗体样式已经改变

 我们再拖几个按钮上去,修改每个按钮的Text属性。

 点击按钮二,在属性列表中找到 UseAccentColor 属性,将其更改为True,将按钮四也这样设置

可以看到按钮二和四都变成了红色,这是DLL默认的软件辅色,在这款控件包中,一般的控件颜色都是由主色和辅色决定的,这样可以很方便地一键更换主题颜色,UseAccentColor 属性为True时就是用辅色绘制。

选中按钮三和四,属性面板中找到Type属性,并设置为Outlined,这是按钮的另外一种样式。

3.更换主题 

 主界面增加两个按钮,分别是:切换主题 与 更改颜色

我们先实现切换主题功能,双击切换主题按钮,进入到后台代码

增加 using MaterialSkin; 引用

增加一个只读变量,并修改构造函数。如下

private readonly MaterialSkinManager materialSkinManager;
public Form1()
{
   InitializeComponent();
   materialSkinManager = MaterialSkinManager.Instance;
   materialSkinManager.EnforceBackcolorOnAllComponents = true;
   materialSkinManager.AddFormToManage(this);
}

切换主题按钮的点击事件中,加入如下代码

materialSkinManager.Theme = materialSkinManager.Theme == MaterialSkinManager.Themes.DARK ? MaterialSkinManager.Themes.LIGHT : MaterialSkinManager.Themes.DARK;

运行项目,点击切换主题按钮,可以看到主题已经切换到了深色主题。

接下来是更改颜色,双击更改颜色按钮,进入后台。

为了实现颜色轮流更换的功能,我们先创建一个私有变量存储我们点击的次数。

再写上更换颜色的代码

 private int colorSchemeIndex;

        //切换颜色按钮点击
        private void materialButton6_Click(object sender, EventArgs e)
        {
            colorSchemeIndex++;
            if (colorSchemeIndex > 2)
                colorSchemeIndex = 0;
            updateColor();
        }
        private void updateColor()
        {
            //These are just example color schemes
            switch (colorSchemeIndex)
            {
                case 0:
                    materialSkinManager.ColorScheme = new ColorScheme(
                        Primary.Indigo500,
                        Primary.Indigo700,
                        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;
            }
            Invalidate();
        }

运行之后,点击 更改颜色按钮 ,颜色已经变成我们想要的样子。

 可以同时更改颜色和主题,来实现更多的效果。

颜色设置ColorScheme方法有两个重载,一个是用DLL自带的 Primary 枚举和 Accent 枚举中的颜色,另一个则可以使用Color类自己定义颜色。

 其中Primary枚举中有常用的100多种颜色,Accent 中有60多种颜色。

 需要注意的是,第四个参数,accent,代表了辅色,辅色一般都会用亮一点的颜色,用来起到一个提醒和点缀的作用,例如软件整体使用蓝色调作为主色,就可以使用红色作为辅色,着重强调像“退出”,“取消”,“删除”,“关闭”,这样的按键,想使用辅色来强调颜色时,将UseAccentColor属性设置为True即可。

下面是控件包的源码以及演示Demo,如果不是特别精通C#的,不推荐去看源码和修改源码,只需用DLL,按照我教程发的来做,自己再多加尝试,效果是一样的。

C#Winform开源控件包,支持中文字体-C#文档类资源-CSDN下载

码字不易,希望大家多多关注,点赞,我会不定期更新每个控件单独的用法,放在CSDN上。

本人也是个学习C#刚两年的萌新,大家相互之间可以多多交流。

-------------------------------------------------------------------------------------------------------------------------------------

相关链接:

C# Winform控件包 MaterialSkin使用教程 -- 一些配色方案https://blog.csdn.net/XX_YZDY/article/details/126286341C# Winform控件包 MaterialSkin使用教程 -- Button 按钮篇https://blog.csdn.net/XX_YZDY/article/details/126278844

C# Winform控件包 MaterialSkin使用教程 -- 侧边栏篇https://blog.csdn.net/XX_YZDY/article/details/126404178C# Winform控件包 MaterialSkin使用教程 -- 横向导航栏https://blog.csdn.net/XX_YZDY/article/details/126536474

关于软件界面设计、控件颜色搭配、一些实用建议(偷懒技巧)总结——针对C# WinForm/WPF技术_XX_YYDS的博客-CSDN博客关于软件界面设计、控件颜色搭配、一些实用建议(偷懒技巧)总结——针对C# WinForm/WPF技术https://blog.csdn.net/XX_YZDY/article/details/128658580

MaterialSkin与系统Panel容器结合使用,实现自适应舒适布局https://blog.csdn.net/XX_YZDY/article/details/129319833

------------------------------------------------------------------------------------------------------------------------------------- 

猜你喜欢

转载自blog.csdn.net/XX_YZDY/article/details/126259798
今日推荐