page contents

c# winform开源界面美化

本文讲述了c# winform开源界面美化!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-06-5iSZ63yV629c0a4522eed.png

本文讲述了c# winform开源界面美化!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

c#winform

首要,咱们先来完结主界面的扁平化
此处分为两个步骤,第一步是更改winform自带的MainForm窗体特点,第二步是增加窗体事情。
将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体(winform自带边框太丑。。)
调节布景色,建议找到自己喜爱的色彩,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor特点之中
在主窗体的Mouse_Down中增加如下事情,完结窗体随意拖动:winform
[DllImport(“user32.dll”)]publicstaticexternboolReleaseCapture();
[DllImport(“user32.dll”)]
[DllImport(“user32.dll”)]publicstaticexternboolSendMessage(IntPtrhwnd,intwMsg,intwParam,intlParam);publicconstintWM_SYSCOMMAND=0x0112;publicconstintSC_MOVE=0xF010;publicconstintHTCAPTION=0x0002;//////为了是主界面能够移动/////////privatevoidMainForm_MouseDown(objectsender,MouseEventArgse){
ReleaseCapture();
SendMessage(this.Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION,0);
}
增加最小化、退出事情的按钮,布景色BackColor和字体色Forecolor设置为与界面色彩较为调配的,将按钮的FlatStyle设置为Popup,它会自己跟着界面风格调整哦~~最小化和退出的代码如下:
this.WindowState=FormWindowState.Minimized;this.Close();
到此为止主窗体的美化以及根本功能完结完毕
窗体根本控件完结美化
tabcontrol美化
经过tabcontrol的drawitem事情,来到达改动tabpage字体、字体色彩以及布景色的目的
privatevoidtabControl1_DrawItem(objectsender,DrawItemEventArgse){
SolidBrushback=newSolidBrush(Color.FromArgb(45,45,48));
SolidBrushwhite=newSolidBrush(Color.FromArgb(122,193,255));
Rectanglerec=tabControl1.GetTabRect(0);
e.Graphics.FillRectangle(back,rec);
Rectanglerec1=tabControl1.GetTabRect(1);
e.Graphics.FillRectangle(back,rec1);
StringFormatsf=newStringFormat();
sf.Alignment=StringAlignment.Center;for(inti=0;i<tabControl1.TabPages.Count;i++)
{
Rectanglerec2=tabControl1.GetTabRect(i);
e.Graphics.DrawString(tabControl1.TabPages[i].Text,newFont(“微软雅黑”,9),white,rec2,sf);
}
}
DataGridview美化
经过设置ColumnHeadersDefaultCellStyle,来改动列标题的布景、字体和色彩
经过设置DefaultCellStyle,来改动单元格布景、字体和色彩
经过设置RowHeadersDefaultCellStyle,来改动行标题的布景、字体和色彩
ProgressBar美化
很多人反映winform的进度条设置BackColor和ForeColor特点,不会产生作用,进度条色彩不会变。因为进度条ProgressBar由所以虚拟形式下运转的,所以调整BackColor和ForeColor都不会产生作用,它仍然会根据windows的主题来更改,为了使其依照咱们想要的色彩来显示,咱们能够将虚拟形式的命令去掉,在program.cs中,注释掉如下内容:
usingSystem;usingSystem.Windows.Forms;namespace界面美化
{staticclassProgram{[STAThread]staticvoidMain(){//Application.EnableVisualStyles();//此行为答应虚拟形式运转的命令,咱们把它注释掉Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newForm1());
}
}
}
但是这样的话会导致其他控件形状或者风格产生一些改动,个人不推荐上述计划,愈加推荐经过重写ProgressBar的OnePaint方法来改动它的色彩(前景色和布景色)。在此咱们有如下代码
usingSystem.Windows.Forms;usingSystem.Drawing;namespace界面美化
{classMyProgressBar:ProgressBar//新建一个MyProgressBar类,它继承了ProgressBar的所有特点与方法{publicMyProgressBar(){
base.SetStyle(ControlStyles.UserPaint,true);//使控件可由用户自由重绘}protectedoverridevoidOnPaint(PaintEventArgse){
SolidBrushbrush=null;
Rectanglebounds=newRectangle(0,0,base.Width,base.Height);
e.Graphics.FillRectangle(newSolidBrush(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=newSolidBrush(this.ForeColor);
e.Graphics.FillRectangle(brush,2,2,bounds.Width,bounds.Height);//此处完结前景重绘,仍旧依照Progressbar的特点设置前景色}
}
}
完结以上步骤之后,咱们如安在界面中插入自己的进度条呢?“咱们能够先插入一个winform自带的ProgressBar,调整好方位,ForeColor,BackColor特点,然后进入窗体的Designer程序中做如下修正:
//privateSystem.Windows.Forms.ProgressBarprogressBar1;//注释此句privateMyProgressBarprogressBar1;//新添此句,增加新的控件MyProgressBarprivatevoidInitializeComponent(){//this.progressBar1=newSystem.Windows.Forms.ProgressBar();//注释此句this.progressBar1=new界面美化.MyProgressBar();//新添此句,此处对MyPorgressBar实例化this.SuspendLayout();this.progressBar1.Location=newSystem.Drawing.Point(137,68);this.progressBar1.Name=”progressBar1″;this.progressBar1.Size=newSystem.Drawing.Size(100,23);this.progressBar1.TabIndex=0;

winform开源界面美化

现在的主体界面规划,能够运用很多控件进行美化,这样能使得开发者能够敏捷开发好漂亮的界面,也能够使得界面总体性有一个统一、规范的基准。一般推荐运用DevExpress或许DotNetbar这两款界面控件套件,他们都能规划出相似Office的Ribbon界面,这种界面全体感觉会比较好一些。winform
1、规范的DevExpress款式界面
在我的Winform开发结构中,也分为了传统性界面、DotNetBar款式界面、DevExpress款式界面这三种,依据不同的开发场景进行运用,假如是历史性原因导致,那就依据需要挑选,假如是新的程序开发,那么主张采用DevExpress款式的界面,这种界面款式,经过我这几年的开发使用了解,觉得真的十分棒,十分强壮,基于Dev款式的《Winform开发结构》主体界面规划如下所示。
这个主体界面是Ribbon款式的界面,它分为了几个部分,我从顶部开端到下面进行介绍。
1)、顶部款式挑选
DevExpress控件能够将窗体的空间运用到极致,很多细微的地方都能够用起来。在开发的使用程序中,增加这个款式挑选,也会使客户觉得这个程序开发也是十分专业的(^_^)。
2)、主程序菜单
在Ribbon款式中,增加这种款式的主程序菜单,比增加一个顶部的MenuBar来的美观,这也是规范的Office程序的Ribbon款式菜单,咱们能够在里面增加各种层级的菜单,如下面是一个简单的退出和重登录菜单。
3)、主界面协助小按钮
主界面的右边能够放置一些小按钮,如在程序中放置一个协助小按钮,用来给客户供给协助或许技术支持的网址链接,都是不错的挑选。
4)、Ribbon款式分组按钮
在我的Winform开发结构中,通过图文并茂的功用按钮,能够使得整个程序看起来愈加漂亮,选取适宜的按钮图标,愈加能够进步客户的认同感,Ribbon款式的分组按钮,能够增加更多的功用菜单,也能够进行更适宜的归类办理。
5)、多文档界面布局
现在的程序,一般录入或许检查的材料都会很多,程序尽可能保持客户的检查的窗口状况,以便更好的参阅和比照,因而多文档界面就是一个十分适宜的挑选,如下界面所示。
6)、底部状况栏
底部菜单能够让客户更好了解程序的一些相关信息,如程序名称、登陆用户,日期,以及程序处理进度等方面的信息。
2、Winform开发结构的扩展性界面款式
以上就是规范的结构界面,有时分我也会依据需要给客户规划一些不同的界面款式,如我的规范Winform开发结构界面,还能够扩展为下面的界面风格(适用于界面功用比较多的状况)
这种界面方法,通过结合Ribbon功用和NaviBarControl的方法,实现更多功用的展现,假如必要,能够依据Ribbon的按钮,翻开左面的NavibarControl的相关的模块内容。
上面界面的Ribbon按钮图标,在界面功用比较多的时分,还能够以小图标按钮方法进行展现,这样一个区域能够包括更多的功用按钮,如下所示。
主程序的菜单能够分级展现,如二级菜单能够进一步翻开更多的菜单,如下所示。
关于一些传统布局的界面,咱们还能够通过如下的人力资源办理系统界面进行展现,这种界面比较合适功用点比较多的界面,这种能够通过树形菜单进行翻开操作具体的模块界面。
以上就是这几种Winform界面款式的规划思路和展现,期望对我们有启示协助。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2022-06-05 09:43
  • 阅读 ( 1960 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章