做一个透明的WinForm
来源:互联网 发布:虚拟机mac os x 10.9 编辑:程序博客网 时间:2024/04/28 10:29
当我第一次在视窗2000中看到透明的窗体,就想做出这样一个窗体应该是非常难的。肯定要调用很多的API函数。当接触了.Net以后,才发现用VisualC#做出一个透明的窗体是多么简单,只要设定一个值就可以了。下面还是让我们来看看通过以下代码生成的透明窗体到底是什么样。
透明窗体的源代码:second.cs
using System ;
using System.Windows.Forms ;
using System.Drawing ;
public class Form2 : Form
{
public static void Main( )
{
Application.Run( new Form2( ) );
}
public Form2( )
{
this.Location = new System.Drawing.Point( 100 , 100 ) ;
this.Cursor = System.Windows.Forms.Cursors.Hand;
// 定义在窗体上,光标显示为手形
this.Text = "透明的WinForm窗体!";
// 定义窗体的标题名称
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
// 定义窗体的开始显示位置是屏幕的中间
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
// 窗体的边界是Fixed3D类型
this.ForeColor = System.Drawing.SystemColors.Desktop;
//以桌面的前景色作为窗体的前景色
this.Font = new System.Drawing.Font ( "宋体", 9 ) ;
// 定义字体类型,大小
this.BackColor = System.Drawing.Color.Blue;
// 定义背景色为蓝色
this.ClientSize = new System.Drawing.Size( 440 , 170 ) ;
// 设置窗体的大小
// Opacity属性设立窗体的透明程度,只对于视窗2000有效
this.Opacity = 0.60 ;
}
}
小结:
以上的代码其实和第一个例子的代码有很多相似,只是在Form2 Class中多定义了一些属性。
1)."this"关键字,我想大家都注意到了这个关键字,那么到底该如何理解他。举例如下:当我在自我介绍的时候(其实就是在定义我的属性),我会说"我的名字叫xx","我的年龄是xx","我的邮箱是xx"……你可能注意到"我的"这二个字,他就是指我本人--王天。同样的道理在程序设计中,"this"关键字就是指向一个对象的实例。所有在上面代码中"this.Font"、"this.Text"就是在设定当前或者正在运行的Form2实例的属性。
2).再看看上面的代码,在程序中又导入了一名称空间--System.Drawing。通过这个名称空间定义的类,就可以更好的设计对象,处理颜色和大小。
3).下面通过下表来具体说明一下在上面程序中设立的属性的具体含义。
属性 描述
Location 初始化WinForm的位置,就是当应用程序运行的时候,显示WinFrom的固定位置
Cursor 当光标在WinForm上面的时候显示的光标状态
Text 设定WinForm的标题
StartPosition这个属性有点类似于"Location"属性,"Location"属性定义的是WinForm的绝对位置,而本属性定义的是WinForm的相对属性。本属性的值定义为"CenterScreen"、"Manual"、"WindoowsDefaultLocation"、"WindowsDefaultBounds"、"CenterParent"
FormBorderStyle 定义窗体的边界的样式。通常设定为,"FixedSingle"、"Sizable"、"FixedDialog"、"FixedToolWindow"、"SizableToolWindow"
ForeColor 定义窗体的前景色彩
Font 定义放在WinForm上的字体的类型和大小
BackColor 定义窗体的背景色彩
ClientSize 定义WinForm的大小
Opacity 这个属性是定义WinForm的透明程度,并且这个属性只能用在视窗2000。属性的区值0-1,代表从完全透明到不透明。
- 做一个透明的WinForm
- 怎么做一个透明的对话框?
- 透明的WinForm窗体
- 用Winform做的一个日历
- Waiting Dialog 做一个透明的ProgressDialog等待框。
- 张勇:做一个透明经济体的CEO
- C#Winform做一个简单的呼叫中心的心得
- Android做一个透明的Activity,设置Activity背景为透明style
- 背景透明的ListBox(C#.WinForm)
- 背景透明的ListBox(C#.WinForm)
- 一个透明的shader
- 如何用C#写一个透明控件?(WinForm程序)
- 最近在做一个报表系统,c# Winform 用到的一个打印控件
- winForm 做简单的绘图
- 如何用透明的PNG图,做一个好看的时钟
- 最近做Qt的一个界面需要按钮在没悬浮时背景是透明
- 一个用C#做的HTTP SERVER(从WINFORM搬来的)
- [VB.NET]如何做一个多语言(国际化)版本的winform
- 静态页如何设置Meta与Title 提高网站排名
- struts1 Unable to read TLD "META-INF/tlds/struts-bean-1.1.tld
- SEO知识(总结土著游民)(3)
- Java与C#的中只读关键字区别分析
- SEO知识(总结土著游民)(2)
- 做一个透明的WinForm
- C++再学习系列:前置++与后置++
- SEO知识(总结土著游民)(1)
- META标签做搜索引擎优化的技巧
- 网站推广
- C#与JAVA几个类型的对应关糸
- Asp.NET使用水晶报表
- Flex RemoteObject类参考
- 水晶报表分页的问题