|
<p >虽然VB.NET和VB在语法上有很多相同之处,但从根本上说,VB.NET不仅仅是VB的另外一个升级版本,而是一个全新的语言。VB.NET全面支持面向对象,在VB.NET中哪怕是一个字符串,你也都可以把它看成是一个对象,一个实例,也有自己的属性和方法。同样VB.NET中程序窗体(Form)也是一个实例,它是由命名空间“System.Windows.Forms”中的“Form”类通过构造函数而成的一个实例。下面试着用VB.NET来编写与窗体相关的程序。<p ><center><font color="#000099"><strong>利用VB.NET来定制窗体的透明度</strong></font></center><p >在下面介绍的程序中,将通过调整TrackBar组件的数值来调整窗体的透明程度。定制透明的窗体,如果要用其他语言来实现,一定是件很复杂的工作,但对于VB.NET来说,则是一件非常简单的事情,这是因为在.Net FrameWork SDK的“Form”类中,提供了一个可以设定窗体透明度的属性“Opacity”,当“Opacity”属性值为“1”,说明窗体不透明,当“Opacity”为“0”,则窗体完全透明。<p >构造整个程序的主要思路就是:首先要继承一个Form对象,程序中名称为Form1,然后创建一个TrackBar组件和一个Label组件,并进行初始化,Label组件的名称为Label1,主要是显示当前窗体的透明度数值。接着定义各组件相关事件,程序中只有一个TrackBar1的“Scroll”事件,并在Form1中加入这些可视组件,这样组件才能显示出来。最后提供VB.NET的程序入口函数“Main”来运行这个程序。下面在VB.NET中通过TrackBar1来定制窗体透明度的完整程序代码(Form.vb):<p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>Imports System.DrawingImports System.Windows.FormsImports System.ComponentModel'继承得到一个窗体Public Class Form1 Inherits System.Windows.Forms.Form#Region &quot; Windows 窗体设计器生成的代码 &quot; Public Sub New ( ) MyBase.New ( ) '该调用是 Windows 窗体设计器所必需的。 InitializeComponent ( ) '在 InitializeComponent ( ) 调用之后添加任何初始化 End Sub '窗体重写处置以清理组件列表。 Protected Overloads Overrides Sub Dispose ( ByVal disposing As Boolean ) If disposing Then If Not ( components Is Nothing ) Then components.Dispose ( ) End If End If MyBase.Dispose ( disposing ) End Sub '创建Windows 窗体中的各种组件 Private components As System.ComponentModel.IContainer '注意:以下过程是 Windows 窗体设计器所必需的 '可以使用 Windows 窗体设计器修改此过程。 '不要使用代码编辑器修改它。 Friend WithEvents TrackBar1 As System.Windows.Forms.TrackBar Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label '初始化各种组件,并定义相关的事件 Private Sub InitializeComponent ( ) Me.TrackBar1 = New System.Windows.Forms.TrackBar ( ) Me.Label1 = New System.Windows.Forms.Label ( ) Me.Label2 = New System.Windows.Forms.Label ( ) CType ( Me.TrackBar1 , System.ComponentModel. ISupportInitialize ).BeginInit ( ) Me.SuspendLayout ( ) Me.TrackBar1.Location = New System.Drawing.Point ( 12 , 48 ) Me.TrackBar1.Maximum = 100 Me.TrackBar1.Name = &quot;TrackBar1&quot; Me.TrackBar1.Size = New System.Drawing.Size ( 258 , 42 ) Me.TrackBar1.TabIndex = 1 Me.Label1.Location = New System.Drawing.Point ( 144 , 104 ) Me.Label1.Name = &quot;Label1&quot; Me.Label1.Size = New System.Drawing.Size ( 66 , 24 ) Me.Label1.TabIndex = 2 Me.Label1.Text = &quot;1&quot; Me.Label2.Location = New System.Drawing.Point ( 62 , 104 ) Me.Label2.Name = &quot;Label2&quot; Me.Label2.Size = New System.Drawing.Size ( 78 , 23 ) Me.Label2.TabIndex = 3 Me.Label2.Text = &quot;透明程度:&quot; Me.AutoScaleBaseSize = New System.Drawing.Size ( 6 , 14 ) Me.ClientSize = New System.Drawing.Size ( 292 , 197 ) '在窗体中加入组件 Me.Controls.AddRange ( New System.Windows.Forms.Control ( ) { Me.Label2 , Me.Label1 , Me.TrackBar1 } ) Me.MaximizeBox = False Me.Name = &quot;Form1&quot; Me.Text = &quot;VB.NET定制透明窗体&quot; CType ( Me.TrackBar1 , System.ComponentModel.ISupportInitialize ) .EndInit ( ) Me.ResumeLayout ( False ) End Sub#End Region '事件处理 Private Sub TrackBar1_Scroll ( ByVal sender As Object , ByVal e As System.EventArgs ) Handles TrackBar1.Scroll Dim temp As Double temp = ( 100 - TrackBar1.Value ) / 100 Label1.Text = temp.ToString ( ) Me.Opacity = temp End SubEnd Class'启动程序Module Module1Sub Main ( ) Application.Run ( new Form1 ( ) )End subEnd Module</ccid_code></pre></td></tr></table></ccid_nobr><p >Form.vb源程序文件经过了下列命令编译后,就可以得到执行文件Form.exe,编译命令如下:<p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>Vbc /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll Form.vb</ccid_code></pre></td></tr></table></ccid_nobr><p >下面是Form.exe运行界面:<p ><center><img src="http://www.hh010.com/upload_files/article/244/9_dr5huz35095.jpg"></center><p ><center>图01:VB.NET定制窗体透明度01</center><p ><center><img src="http://www.hh010.com/upload_files/article/244/9_yv4kdl35096.jpg"></center><p ><center>图02:VB.NET定制窗体透明度02</center><p >通过上面的介绍,可以了解到如何创建窗体、组件,定义事件等,下面就在上面的这些知识之上,利用窗体的"Opacity"属性和定时器组件来实现一个窗体的特效窗体——实现窗体的淡入淡出效果。 <p align="center"><font color="FF0000" >1</font>2<span class="content01">下一页>></span></p></p> |
|