在开发应用程序时,经常需要为用户提供直观、易用的操作界面。OutlookBar控件,类似于Microsoft Outlook中的导航栏,是实现这一目标的理想选择。本文将详细介绍如何开发一个自定义的OutlookBar控件,使其在运行时和设计时都具备良好的功能性和可访问性。
为了使OutlookBar控件能够满足用户的需求,需要实现以下功能:
自定义OutlookBar控件包含三个主要类:
此类代表单独的按钮实例。此类不进行绘制操作,其基本成员包括:
此类代表控件上的按钮集合,继承自CollectionBase。在代码中,可以使用常规过程向控件添加或移除按钮:
Dim newButton As New Altea.OutlookBarButton
With newButton
.Text = "my button"
.Visible = False
.Image = My.Resources.myImage
End With
Me.OutlookBar1.Buttons.Add(newButton)
或者使用重载的构造函数:
Me.OutlookBar1.Buttons.Add(New Altea.OutlookBarButton("my button", My.Resources.myImage))
此类继承自System.Windows.Forms.Control,是主类。它有一个名为Renderer的属性,有两个选项:Office2003和Office2007。在未来的版本中,将增加一个名为Custom的选项。可以在代码中选择按钮:
Me.OutlookBar1.Buttons("Journal").Selected = True
此类包含最多的事件。例如MouseMove、MouseDown、MouseLeave等事件将在此类中处理。绘制操作也发生在此类中。OutlookBar将根据发生哪个用户操作来决定按钮的ButtonState:
Friend Enum ButtonState
Passive
Hovering
Selected
End Enum