志在指尖
用双手敲打未来

c# winform(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界面款式的规划思路和展现,期望对我们有启示协助。

未经允许不得转载:IT技术网站 » c# winform(winform开源界面美化)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载