WinForm窗体美化基础(一)
来源:互联网 发布:pages windows版 编辑:程序博客网 时间:2024/05/16 23:57
发帖子的时候不能用图片,不方便哦。要看可以上我的QQ空间看吧,等这能发图了,我再补充完整。
http://user.qzone.qq.com/116422531/infocenter?ptlang=2052
我的QQ:116422531
/***********************************/
WinForm的窗体美化,可以用第三方提供的库,也可以自己用Gdi+来画。这里讲的是自己画,环境是C#2008 Express版。
直接开始:
1、我们首先来了解一下窗体的一些基本要素。首先看一下基本的窗体样式。
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/neok/EntryImages/20091023/01.PNG">例子窗体</img>
以上就是一个标准窗体的样式了。我们想要美化它,就是想把它的样式变得好看一些,怎样才是好看的样式,这个就要美工来做美化设计了。我这里用一个黑色的样式来做例子。如下图的样式。
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/neok/EntryImages/20091023/02.PNG">美化后的窗体</img>
2、了解一下像素,大小和其他的基本要素。
做这样一个窗体,使用了以下的设置。
this.Size = new Size(320, 240);//窗体大小320x240
this.BackColor = Color.FromArgb(255, 0, 255);//背景色紫色
this.TransparencyKey = Color.FromArgb(255, 0, 255);//窗体透明色也为紫色,这样就可设置窗体透明了。用来构建任意样式的窗体
this.FormBorderStyle = FormBorderStyle.None;//设置窗体模式为无边框样式。
我们用相同大小来对比一下这两个窗体,就可发现一些大小上的差别。这也是我们要注意的。
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/neok/EntryImages/20091023/03.PNG'>两个窗体大小差异1</img>
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/neok/EntryImages/20091023/04.PNG">两个窗体大小差异2</img>
美化后320*240的大小,刚好是没美化前的主内区的大小。这就是FormBorderStyle.None造成的。边框大约10个像素,标题栏大小24个像素。这是基于一个17寸显示器,1024*768分辨率来说的,具体的值可以在系统中获得(在System.Windows.Forms.SystemInformation类中)。
3、文字的大小和像素
C#中文字是单位是pt,例如9pt。美化窗体时,有时要画上字,这时就要转化pt到pixel了。
转化方法公式是:pt * 1/72 * Dpi,例如9pt的汉字,大约就是12个pixel了。这里dpi是96。
那么我们在C#中可用Graphics计算出来。
Graphics g;
SizeF f = g.MeasureString(this.Text, Font);
这样就得到了this.Text文字的高、宽了(像素单位)
4、你还要有一些美化用图片,这样才够好看。如下面这样
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/neok/EntryImages/20091023/05.PNG">美化的图片</img>
如果你还要有更的样式,这些图片要先准备好,这是前期准备工作。还有些其他的准备工作,例如这些图你要先取名,或作为资源文件,要先加入到项目中去。
- WinForm窗体美化基础(一)
- C# Winform 窗体美化(一、IrisSkin 换肤库)
- C#中winform窗体的美化控件 iriskin(一)
- C# Winform 窗体美化(目录)
- C# Winform 窗体美化(八、Icon)
- winform窗体美化
- C# Winform 窗体美化(三、不规则窗体)
- C# Winform 窗体美化(四、镂空窗体)
- C# Winform 窗体美化(六、双层窗体)
- C# Winform 窗体美化(九、嵌入窗体)
- C# Winform 窗体美化(十、自定义窗体)
- C# Winform 窗体美化(二、LayeredSkin 界面库)
- C# Winform 窗体美化(五、鼠标穿透)
- C# Winform 窗体美化(七、Win7 Aero 毛玻璃效果)
- 基于C#的WinForm窗体美化(无须美工功底)
- C#中winform窗体的美化控件 iriskin(二)
- 使用HTML页面美化WinForm窗体
- Skin控件 C# Winform窗体美化控件
- u-boot 1.3.1移植,调试心得 (转)
- CCNA 3 Chapter 6
- 使用systemrescuecd取出数据时发现的问题
- 传智播客 Hibernate开发过程与session详解
- CCNA 3 Chapter 7
- WinForm窗体美化基础(一)
- 传智播客 Hibernate 对象状态与存储性能优化
- 本地及linus服务器上postgres数据库表的备份及恢复
- 传智播客 Hibernate HQL语言与其它
- 传智播客 Lucene介绍与应用
- 传智播客 JBPM基础之入门和简介
- 初学者如何开发出一个高质量的J2EE系统
- Smarty多语言化的简单实现
- CCNA3 Chapter 8