C#美化界面 「」 主题SDK 而是极简的代码实现

最近看了不少C#学习的视频,有专业知识的,不过老师也有做了一些美化,我觉得还是不错的,然后结合自己以前学习到的一些关于C#界面美化写一篇文章把,小编尽量编写仔细,让大家可以直接拿去使用

1,界面主题渐变效果

运行前

运行后

将下方代码添加至项目中即可:

using System.Drawing;
using System.Drawing.Drawing2D;

    protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            Graphics g = e.Graphics;
            Rectangle rec = new Rectangle(0,0,this.Width,this.Height);
            //LinearGradientMode.BackwardDiagonal表示从右上向左下渐变
            LinearGradientBrush brush = new LinearGradientBrush(rec,Color.FromArgb(225,101,127),Color.FromArgb(93,127,122),LinearGradientMode.BackwardDiagonal);
            g.FillRectangle(brush, rec);
        }

2,窗体淡出效果

 

 

3,窗体拖拉效果

窗体FormVorderStyle设置为None后不可以进行拖拉

1》,先添加一个Panel控件至需要进行拖拉的位置,一般放在顶部

2》,然后在项目中添加如下代码

 private Point mPoint;
        private void pl_2_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                Location = new Point(Location.X + e.X - mPoint.X, Location.Y + e.Y - mPoint.Y);
            }
        }

        private void pl_2_MouseDown(object sender, MouseEventArgs e)
        {
            mPoint = new Point(e.X, e.Y);
        }

3》,在Panel控件的事件中绑定这两个方法就好了

 

4,界面初始化加载功

(总所周知CSDN是不能发视频的,所以我转换了一下GIF图片格式)我为了让你们看到效果已经尽力了,水印要开VIP才可以去,代码加载效果就是如上这般效果:

下面我们看如何实现:

1》,我们拖动了两个Panel控件,一个设置为透明Pl_1,另外一个做为加载使用Pl_2

2》,定义一个时间控件,速度自己看这设置就好 了

3》,时间控件的事件中,添加如下代码。。//大致意思为每过一段时间将Pl_2的width宽进行5px的添加

这样就形成一个进度条的效果了

  private void timer1_Tick(object sender, EventArgs e)
        {
            pl_2.Width += 5;
            if (pl_2.Width >= 700)
            {
                this.DialogResult = DialogResult.OK;
            }
        }

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值