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

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

  • 46
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 38
    评论
  深田之星Database2Sharp,是一个NHibernate、Castle-ActiveRecord、Enterprise Library和PetShop架构的C#代码和Java代码生成工具,提供了对MS Sql2000、MS Sql2005、Oracle、Mysql、Access的支持;可以生成各种架构代码,导出数据库文档、浏览数据库架构、查询数据、生成Sql脚本等。 主要的功能如下:   1、Castle的ActiveRecord代码生成功能,准确生成各种关系。   2、NHibernate代码生成,生成相应的实体类和HBM文件。   3、PetShop架构代码的生成(多种形式),直接生成所需的解决方案,为你封装了功能强大的基础类库和数据访问基类。   4、Web界面自动生成功能,生成列表、增加、修改界面代码和后台代码,括烦琐的绑定数据和赋值语句代码,为你封装具有漂亮界面和布局的编辑、查看、添加和分页控件,随手可得,率性而为。   5、Enterprise Library代码生成,生成整个项目工程框架,含实体类、数据访问类、业务类、Asp.net页面类,利用泛型及缓存机制,良好的架构极大简化代码,强大完善的基类使你甚至不用编写一行代码。   6、可以查看数据库的信息和实现查询分析器的功能,可以很快地看看数据库的信息。   7、实体类快速生成,提供各种常用的实体类代码生成,直接在窗体中显示,并用语法高亮显示,方便拷贝使用。   8、数据库文档的生成,在模块设计中非常有用,谁想去写描述和字段名称,类型的对应关系呢?   9、测试数据脚本的生成,在外键非常复杂的表中,我们想添加一条记录都是很容易哦,这个可以更加表的外键关系调整插入测试数据的顺序,很周到吧。   10、增加Select、Update、Insert和Delete基本语句代码的生成,方便您直接在代码中使用。 11、增加Java框架(Ibatis+Spring+struts+Extjs)代码的生成;添加Java实体类快速生成。 12、增加企业级别的界面自动生成,集成了标准、美观、统一的界面元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XX_YYDS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值