以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  浅析C#透明窗体  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=84962)


--  作者:卷积内核
--  发布时间:5/28/2010 2:35:00 PM

--  浅析C#透明窗体
这里介绍C#透明窗体,当接触了.Net以后,才发现用Visual C#做出一个透明的窗体是多么简单,只要设定一个值就可以了。下面还是让我们来看看通过以下代码生成的C#透明窗体到底是什么样。

做一个C#透明窗体

当我第一次在视窗2000中看到C#透明窗体,就想做出这样一个窗体应该是非常难的。肯定要调用很多的API函数。当接触了.Net以后,才发现用Visual C#做出一个透明的窗体是多么简单,只要设定一个值就可以了。下面还是让我们来看看通过以下代码生成的C#透明窗体到底是什么样。

透明窗体的源代码:


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).下面通过下表来具体说明一下在上面程序中设立的属性的具体含义。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
35.156ms