精华内容
下载资源
问答
  • C# winform 界面美化技巧(扁平化设计)

    万次阅读 多人点赞 2018-12-03 10:39:01
    C# winform 界面美化技巧(扁平化设计) 关于C#界面美化的一些小技巧 在不使用第三方控件如 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化 首先,我们先来实现主界面的扁平化 此处分为两个步骤,第...

    C# winform 界面美化技巧(扁平化设计)

    关于C#界面美化的一些小技巧
    在不使用第三方控件如 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化
    在这里插入图片描述
    首先,我们先来实现主界面的扁平化

    此处分为两个步骤,第一步是更改winform自带的MainForm窗体属性,第二步是添加窗体事件。
    将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体(winform自带边框太丑。。)
    调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中
    在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动:

    [DllImport("user32.dll")]
    public static extern bool ReleaseCapture();
    [DllImport("user32.dll")]
    [DllImport("user32.dll")]
    public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
    public const int WM_SYSCOMMAND = 0x0112;
    public const int SC_MOVE = 0xF010;
    public const int HTCAPTION = 0x0002;
    /// <summary>
    /// 为了是主界面能够移动
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void MainForm_MouseDown(object sender, MouseEventArgs e)
    {
        ReleaseCapture();
        SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
    }     
    

    添加最小化、退出事件的按钮,背景色BackColor和字体色Forecolor设置为与界面颜色较为搭配的,将按钮的FlatStyle设置为Popup,它会自己随着界面风格调整哦~~最小化和退出的代码如下:

    this.WindowState = FormWindowState.Minimized;
    this.Close();
    

    到此为止主窗体的美化以及基本功能实现完毕
    窗体基本控件实现美化

    tabcontrol美化
      通过tabcontrol的drawitem事件,来达到改变tabpage字体、字体颜色以及背景色的目的

    private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
            {
                SolidBrush back = new SolidBrush(Color.FromArgb(45, 45, 48));
                SolidBrush white = new SolidBrush(Color.FromArgb(122, 193, 255));
                Rectangle rec = tabControl1.GetTabRect(0);
                e.Graphics.FillRectangle(back, rec);
                Rectangle rec1 = tabControl1.GetTabRect(1);
                e.Graphics.FillRectangle(back, rec1);
                StringFormat sf = new StringFormat();
                sf.Alignment = StringAlignment.Center;
                for (int i = 0; i < tabControl1.TabPages.Count; i++)
                {
                    Rectangle rec2 = tabControl1.GetTabRect(i);
                    e.Graphics.DrawString(tabControl1.TabPages[i].Text, new Font("微软雅黑", 9), white, rec2, sf);
                }
    
            }
    

    DataGridview美化
    通过设置ColumnHeadersDefaultCellStyle,来改变列标题的背景、字体和颜色
    通过设置DefaultCellStyle,来改变单元格背景、字体和颜色
    通过设置RowHeadersDefaultCellStyle,来改变行标题的背景、字体和颜色

    ProgressBar美化
      很多人反映winform的进度条设置BackColor和ForeColor属性,不会产生效果,进度条颜色不会变。因为进度条ProgressBar由于是虚拟模式下运行的,所以调整BackColor和ForeColor都不会产生效果,它仍然会根据windows的主题来更改,为了使其按照我们想要的颜色来显示,我们可以将虚拟模式的命令去掉,在program.cs中,注释掉如下内容:

    using System;
    using System.Windows.Forms;
    
    namespace 界面美化
    {
        static class Program
        {
            [STAThread]
            static void Main()
            {
                //Application.EnableVisualStyles();//此行为允许虚拟模式运行的命令,我们把它注释掉
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }
    

    但是这样的话会导致其他控件形状或者风格发生一些改变,个人不推荐上述方案,更加推荐通过重写ProgressBar的OnePaint方法来改变它的颜色(前景色和背景色)。在此我们有如下代码

    using System.Windows.Forms;
    using System.Drawing;
    
    namespace 界面美化
    {
        class MyProgressBar:ProgressBar //新建一个MyProgressBar类,它继承了ProgressBar的所有属性与方法
        {
            public MyProgressBar()
            {
                base.SetStyle(ControlStyles.UserPaint, true);//使控件可由用户自由重绘
            }
            protected override void OnPaint(PaintEventArgs e)
            {
                SolidBrush brush = null;
                Rectangle bounds = new Rectangle(0, 0, base.Width, base.Height);
                e.Graphics.FillRectangle(new SolidBrush(this.BackColor), 1, 1, bounds.Width - 2, bounds.Height - 2);//此处完成背景重绘,并且按照属性中的BackColor设置背景色
                bounds.Height -= 4;
                bounds.Width = ((int)(bounds.Width * (((double)base.Value) / ((double)base.Maximum)))) - 4;//是的进度条跟着ProgressBar.Value值变化
                brush = new SolidBrush(this.ForeColor);
                e.Graphics.FillRectangle(brush, 2, 2, bounds.Width, bounds.Height);//此处完成前景重绘,依旧按照Progressbar的属性设置前景色
            }
        }
    }
    

    完成以上步骤之后,我们如何在界面中插入自己的进度条呢?``我们可以先插入一个winform自带的ProgressBar,调整好位置,ForeColor,BackColor属性,然后进入窗体的Designer程序中做如下修改:

    //private System.Windows.Forms.ProgressBar progressBar1;//注释此句
    private MyProgressBar progressBar1; //新添此句,添加新的控件MyProgressBar
    private void InitializeComponent()
    {
        //this.progressBar1 = new System.Windows.Forms.ProgressBar();//注释此句
        this.progressBar1 = new 界面美化.MyProgressBar();//新添此句,此处对MyPorgressBar实例化
        this.SuspendLayout();
        this.progressBar1.Location = new System.Drawing.Point(137, 68);
        this.progressBar1.Name = "progressBar1";
        this.progressBar1.Size = new System.Drawing.Size(100, 23);
        this.progressBar1.TabIndex = 0;
    }
    

    完成之后就可以啦,看看最后的效果:
    在这里插入图片描述
      理解控件重绘或者是重写的含义之后,其他的控件也非常方便拓展与修改,达到美化效果!

    展开全文
  • WinForm窗体美化

    千次阅读 热门讨论 2020-09-02 10:28:24
    目录 一、下载IrisSkin4.dll 二、添加引用 三、添加到工具箱 四、拖动到窗体 五、自此美化窗体的环境全部搭建完成。...六、下载好之后,同样...所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。 为了帮

    目录

    一、下载IrisSkin4.dll

    二、添加引用

    三、添加到工具箱

    四、拖动到窗体

    五、自此美化窗体的环境全部搭建完成。开始下载皮肤包

    六、下载好之后,同样放在项目的的Debug中,方便引用

    七、添加代码

    八、重新生成解决方法、——运行——效果展示


    机房重构优化的时候,使用Winform自带控件做出来的软件,界面实在是太丑了,根本就拿不出手,而小编我又是一个完美主义者(强迫症),只能想办法把软件的界面搞得简洁好看一点。所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。

    为了帮助用户追求美观,.NET 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体的主题式美化;只需要简单地三步,添加控件–拖拽–一行代码,你只需要花费极少的时间就能让你的应用程序更漂亮。下面我就跟大家介绍一下如何使用IrisSkin控件对Winform程序进行界面美化,希望对大家有所帮助。

    一、下载IrisSkin4.dll

    下载IrisSkin4.dll皮肤引用集到自己电脑中,下载位置为  该项目的Debug中。(项目的dll文件一般都在这里,方便引用)

    下载链接:https://www.zhaodll.com/dll/softdown.asp?softid=106592&iz2=6a4ab7decba8e5620adcf610eefa680b

    二、添加引用

    打开项目右键“引用”——“添加引用”——选择“浏览”——找到电脑中IrisSkin4.dll文件

    三、添加到工具箱

    在工具箱的空白处右键——添加选项卡———“自己随便起个名字”如美化——然后我们将Debug中的IrisSkin4.dll文件直接拖动到刚刚新建的选项卡“美化”中

    四、拖动到窗体

    选中SkinEngine拖动到窗体

    五、自此美化窗体的环境全部搭建完成。开始下载皮肤包

    这种皮肤包网上一搜,遍地都是。我分享一个用的下载地址:https://www.cr173.com/soft/81205.html,地址二http://pan.baidu.com/s/1slSAqFN

    六、下载好之后,同样放在项目的的Debug文件夹中,方便引用

    七、添加代码

    this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));
    this.skinEngine1.SkinFile = Application.StartupPath + "//皮肤名";
    

    注意:(这两个斜杠//,可不要删除啊)

    八、重新生成解决方案——运行——效果展示

    到此为止,我们的美化界面工作基本就完成了!如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

    展开全文
  • 文档简单介绍了目前几种常用的C# Winform界面美化的方法,在开发过程中可以参考使用。仅供参考。。。
  • 基于C#的WinForm窗体美化(无须美工功底)

    万次阅读 多人点赞 2017-06-30 17:24:38
    基于C#的WinForm窗体美化(无须美工功底) 在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。...所以今天我分享一个关于简单的对窗体进行美化的一个小技巧

    基于C#的WinForm窗体美化(无须美工功底)

    在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。

    在设计面向对象的UI层界面时,常常因为WinForm自身的窗体界面不够美观而去反复修改各种控件的位置。当然在不同的Windos中,WinForm所具有的主题也是不同的,但对于颜控的我们,这些也是无法满足的。

    所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。

    为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体的主题式美化,下面介绍如何使用这个皮肤引用集(用例项目名称为:Test 开发环境:Visual Studio 2012):

    1. 将IrisSkin4.dll下载至电脑中,并建议将该文件存放至项目的Debug中。(方便引用)
      这里写图片描述
    2. 进入项目,右键点击Test窗体类的引用->点击”浏览“->找到项目的Debug文件夹->双击IrisSkin4.dll文件->点击确定后,在引用集里就会出现“IrisSkin4”
      这里写图片描述
    3. 打开工具箱(看不到的请点击菜单栏中的视图->工具箱即可),然后在工具箱的空白处右键->添加选项卡,名称怎么好记怎么起,新建好应该会有“此组中没有可用控件”,然后将我们Debug中的IrisSkin4.dll文件,直接拖动到这些字上,也就是往这个选项卡里加控件。成功后如下图:
      这里写图片描述
    4. 然后拖动SkinEngine控件到窗体上,成功后如下图:
      这里写图片描述
    5. 自此美化窗体的环境全部搭建完成。

    有了环境之后,窗体的美化工作就和我们平时接触到的换肤操作有些相似(就是选择一个皮肤,然后点击更换),但在C#窗体开发中,这种“换肤操作”不是很容易的。首先要明白一个点就是,窗体的皮肤文件都是以 “.ssk”为后缀名的,所以,我们要先去制作窗体的皮肤文件,才能实现“换肤”。(但是这就需要美工基础了,所以博主在这里提供了一些现成的美观的ssk文件提供阅读者下载,皮肤不是我做的,我整理的,尊重原作者。)

    下面,我就给阅读者简单的分享一下流程吧:

    1. 首先将现成的.ssk文件放在项目的Debug中,这也是方便引用。(用例为DeepCyan.ssk)
      这里写图片描述
    2. 然后在Form1.cs的InitializeComponent();下添加如下代码:
    this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));
    this.skinEngine1.SkinFile = Application.StartupPath + "//皮肤文件名";
    

    用例中如图:
    这里写图片描述
    3. 然后保存代码,我们试试看效果怎么样!
    这里写图片描述
    4. 自此美化界面基本完成,是不是很容易。无须美工基础,简单的审美即可。

    这种简单的窗体美化有助于开发的系统整体保持一个风格,增强用户的体验性和视觉感受。

    下面为博主提供的IrisSkin4.dll文件和一些做好的ssk皮肤。

    ->60种免费的ssk皮肤<-

    ->IrisSkin4.dll<-

    展开全文
  • C#--winform界面美化

    千次阅读 2020-02-06 14:27:03
    有以下总结比较好的博客,在这里归纳一下,对各位博友表示感谢~~ 《工控界面设计美化篇(干货)》 《C# Winform 窗体美化(目录)》 2、控件的美化 《C# winform 界面美化技巧(扁平化设计)》

    1、界面的美化

    一般的工控界面分成三部分:

    (1)、标题菜单部分,即项目名称、界面菜单等

    (2)、数据显示及按钮等部分,即图形显示区,可以显示工艺流程图,采集到的相关数据信息、控制按钮等。

    (3)、尾部部分,可以添加公司的相关信息等。

    有以下总结比较好的博客,在这里归纳一下,对各位博友表示感谢~~

    《工控界面设计美化篇(干货)》

    《C# Winform 窗体美化(目录)》

    2、控件的美化

    《C# winform 界面美化技巧(扁平化设计)》

     

     

    展开全文
  • WINFORM窗体界面设计技巧-不规则、可改变大小、边框半透明效果
  • Winform中WebBrowser控件的使用技巧

    千次阅读 2010-11-09 11:56:00
    目前大多数公司做项目还是采用B/S架构居多,B/S架构的主要优点是易于维护,当然还有很多,此处我就不一一列举了。但有些软件由于某些原因必须用C/S...下面我就带大家领略一下在winform中嵌入html的方法。  做过.net
  • 美化Winform的开源项目

    2021-05-27 09:17:23
    一个非常不错的开源Winform下面的Html编辑器。包括的基本功能和Word差不多了,常规的...基于 C# 和 .Net WinForm 的开源控件库、工具类库、扩展类库、多页面开发框架。 特点: 基于framework4.0,原生控件开发
  • WinForm窗体 Button 按钮 Textbox 文本框 ComboBox 下拉列表框 Checkbox 复选框 RadioButton 单选框 GroupBox 分组控件 Label 标签 ListBox 列表框 PictureBox 图片框 DateTimePicker 日期时间控件 ...
  • C#中Winform控件扁平化设计

    万次阅读 2018-05-06 15:52:47
    导语:在用Visual Studio进行WinForm窗体程序设计时,系统提供的...方式一、自己动手DIY 这种方式比较费力,需要有一定的基础,可以参考杨睿的一篇博客:C# winform 界面美化技巧(扁平化设计),自己动手做下来会...
  • WinForm企业级C/S框架实战项目演练

    千次阅读 2018-02-28 16:44:09
    录制这堂课程的目的就是专门给想学习和了解WinForm应用程序的童鞋们。虽然当前主流的架构开发的确大多是WEB端和App移动端开发,可能大家都忽略了传统的WinForm桌面应用程序开发的魅力!如果您对本次分享《 WinFo...
  • winform 转 web笔记

    2012-06-25 10:44:00
     学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。   第二步:学习JavaScript。 JavaScript不是Java,它主要运行于浏览器端。可以完成许多...
  • 4. 界面美化 5. 添加关于、帮助 6. 其他人性化功能   (1)判断表结构,提供建议配置方案  (2)判断导入列表中数据结构一致,如果不一致提示是否强制合并   (3)再次打开时使用上次的设置 05. 通过文件结构直接...
  • 一、课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类。这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋...虽然当前主流的架构开发的确大多是WEB端和App移动端开发,可能大家都忽略了传统的WinForm桌...
  • 一、课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类。这里阿笨不谈论两种...虽然当前主流的架构开发的确大多是WEB端和App移动端开发,可能大家都忽略了传统的WinForm桌面应用程序开发的魅力! 1.1、本次...
  • 4. 界面美化 5. 添加关于、帮助 6. 其他人性化功能  (1)判断表结构,提供建议配置方案  (2)判断导入列表中数据结构一致,如果不一致提示是否强制合并  (3)再次打开时使用上次的设置 05.  通过文件结构...
  • 1、按钮外观美化:如下图设置按钮的FlatAppearance的BorderSize为0,即去除边框,FlatStyle为Flat,即按钮外观为平面显示,通过Image属性为按钮添加图片。 按钮Button外观属性设置 2、TextBoxt和Lable设置:设置...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 219
精华内容 87
关键字:

winform美化技巧