实例说明
在本实例中,我们将创建一个具有停靠功能的应用程序,程序运行后,可以选择停靠位置如左、右、填充等。程序运行结果如图73-1所示。
图73-1 运行结果
技术要点
l Panel控件
l Dock属性
实现过程
■ 新建项目
打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"DockMan",然后选择保存路径。单击"确认"。
■ 添加控件
向窗体上添加一个Panel控件,然后向Panel控件上放置一个Button控件,添加一个GroupBox控件,在GroupBox控件上放置六个RadioButton控件。注意放置顺序。先放Panel,GroupBox控件,然后再放置别的控件。
■ 设置属性
切换到属性栏,对窗体上的控件设置属性,我们在表73-1中仅列出主要的属性,详细的属性设置请见光盘。
表73-1 窗体/控件的属性值
窗体/控件 属性 值
Form1 Text 停靠工具栏示例
RadioButton1 Name RdbNone
Text 无
Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Namespace Microsoft.Samples.WinForms.VB.DockMan
Public Class DockMan
Inherits System.Windows.Forms.Form
Private rdbSet As System.Windows.Forms.RadioButton
Public Sub New()
MyBase.New()
DockMan = Me
'This call is required by the Windows Forms Designer.
InitializeComponent()
'TODO: Add any initialization after the InitializeComponent() call
rdbSet = rdbNone
ApplyChanges()
End Sub
Public Overloads Overrides Sub Dispose()
MyBase.Dispose()
components.Dispose()
End Sub
<STAThread()> Shared Sub Main()
System.Windows.Forms.Application.Run(New DockMan())
End Sub
Private Sub ApplyChanges()
'应用更改
If rdbSet Is rdbNone Then
btnDemo.Dock = System.Windows.Forms.DockStyle.None
ElseIf rdbSet Is rdbTop Then
btnDemo.Dock = System.Windows.Forms.DockStyle.Top
ElseIf rdbSet Is rdbLeft Then
btnDemo.Dock = System.Windows.Forms.DockStyle.Left
ElseIf rdbSet Is rdbBottom Then
btnDemo.Dock = System.Windows.Forms.DockStyle.Bottom
ElseIf rdbSet Is rdbRight Then
btnDemo.Dock = System.Windows.Forms.DockStyle.Right
Else ' The default is: if (rdbSet is rbFill)
btnDemo.Dock = System.Windows.Forms.DockStyle.Fill
End If
End Sub
Private components As System.ComponentModel.IContainer
Private Sub checkBox_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)
ApplyChanges()
End Sub
Private Sub radiobutton_Click(ByVal sender As Object,ByVal e As EventArgs) Handles rdbBottom.Click,rdbFill.Click,rdbLeft.Click,rdbRight.Click,rdbTop.Click,rdbNone.Click
rdbSet = CType(sender,RadioButton)
ApplyChanges()
End Sub
End Class
End Namespace
■ 运行程序
单击菜单"调试|启动"或单击 图标运行程序。
小结
本实例主要使用了Dock属性来确定停靠工具栏的位置,我们还可以使用鼠标拖动来进行操作,就像拖动任务栏一样。这些程序由读者自行开发。