讲述VB.NET制作透明窗体

开发 后端
这里介绍VB.NET制作透明窗体,窗体是Windows应用程序的基础。新一代的开发工具Visual Basic.Net为设计制作窗体提供了更多简单而丰富的方法,无需再求助于复杂而易错的API函数,我们就可以轻松制作多种特效窗体。

VB.NET有很多值得学习的地方,这里我们主要介绍VB.NET制作透明窗体,包括介绍轻松编写托盘程序托盘程序作为一类特殊的窗体等方面。

窗体是Windows应用程序的基础。新一代的开发工具Visual Basic.Net为设计制作窗体提供了更多简单而丰富的方法,无需再求助于复杂而易错的API函数,我们就可以轻松制作多种特效窗体。

1、VB.NET制作透明窗体,VB.NET可以轻松制作出任一透明度的窗体:我们只要在窗体的“属性”窗口中,将 Opacity 属性设置为一个介于 0.0(完全透明)与 1.0(完全不透明)之间的值就可以了:

  1. Dim frm As FrmTrans = New FrmTrans()  
  2. frm.Opacity = 0.5  
  3. frm.ShowDialog() 

2、轻松制作始终位于最上层的窗体在VB6中,要制作一个始终位于最上层的窗体我们只能求助于令人头痛的API函数。然而在 .NET 中,我们只要简单设置窗体的 TopMost 属性就可实现同样效果了!例如:

  1. Dim frm As frmTopMost = New frmTopMost()  
  2. frm.TopMost = True 
  3. frm.Show() 

3、VB.NET制作透明窗体,如果要编写一个不让别人发现的隐藏程序,制作透明窗体就是必须实现的***步。窗体的可见性通常由 Visible 属性控制。但是,如果希望 Windows 应用程序的主窗体在应用程序启动时透明窗体,您将会发现将它的 Visible 属性设置为 False 的方法无效,窗体总会自己显示出来(这是因为,启动窗体的生存期决定了应用程序的生存期)。虽然如此,我们还是可以通过简单将应用程序的启动设置为一个模块,从而从窗体的生存期分出应用程序的生存期,VB.NET制作透明窗体。在下面这个例子中,窗体在特定的时间内自动隐藏:
1).在 Visual Basic 中,右击项目并选择“添加模块”以将模块添加到 Windows 应用程序。
2).在已添加的模块(或类)内,创建可作为项目启动对象的 Main 函数:

  1. Sub main()  
  2. Dim f1 As New Form1()  
  3. f1.Visible = False 
  4. While Hour(Date.Now) < 15   
  5. ‘如果当前时间早于15点,窗体自动隐藏  
  6. Application.DoEvents()  
  7. End While  
  8. f1.ShowDialog()  
  9. End Sub 

4、轻松编写托盘程序托盘程序作为一类特殊的窗体,其快捷图标显示在系统托盘中,窗体本身则隐藏透明窗体。在.NET之前版本的VB中编写托盘程序是十分困难的,但是VB.NET提供的新的NotifyIcon组件却使VB初学者也能轻松编写一个这样的程序:新建“Windows应用程序”,设置主窗体 Opacity属性为0,FormBorderStyle属性为None,ShowInTaskbar属性为False,这样窗体将在启动后隐藏。在窗体上放置一个NotifyIcon组件NotifyIcon1,一个ContextMenu(弹出菜单)组件ContextMenu1,并根据需要为 ContextMenu1添加菜单项。

设置NotifyIcon1的ICON属性,这个图标就是应用程序出现在系统托盘中的快捷图标;设置NotifyIcon1的Text属性为“VB.NET托盘程序”,这就是鼠标移动到托盘图标时弹出的文字说明;设置NotifyIcon1的 ContextMenu属性为ContextMenu1,也就是右键单击快捷图标时的弹出菜单为ContextMenu1.OK,按F5运行!

【编辑推荐】

  1. 浅析VB.NET开发自动分页
  2. VB.NET ListView控件经验总结
  3. 简单讲述VB.NET读取INI
  4. 简要介绍VB System.Array类及其成员
  5. 概括VB.NET获取网卡地址的步骤
责任编辑:佚名 来源: IT168
相关推荐

2009-11-03 17:31:01

VB.NET窗体

2009-11-03 17:35:05

VB.NET窗体透明度

2009-10-16 13:26:53

VB.NET Exce

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-21 10:45:50

VB.NET Quic

2009-10-13 17:03:55

VB.NET面向对象

2009-11-02 15:45:03

VB.NET IEnu

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-19 08:55:22

VB.NET多重继承

2009-10-28 14:51:33

VB.NET设计制作窗

2009-10-15 11:11:08

VB.NET Text

2009-10-23 13:22:25

VB.NET实现拖动图

2009-10-15 16:39:00

VB.NET读取INI

2009-10-14 11:15:06

VB.NET Grou

2009-10-10 16:44:52

VB.NET开发控件

2009-10-14 13:56:05

VB.NET数据窗体

2010-01-13 09:31:39

VB.NET窗体打印

2009-10-27 11:39:03

VB.NET事件处理程

2009-10-14 15:20:21

VB.NET窗体指针

2009-10-14 15:34:29

VB.NET窗体编程模
点赞
收藏

51CTO技术栈公众号