65.9K
CodeProject 正在变化。 阅读更多。
Home

窗体停靠器

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.33/5 (4投票s)

2008年9月23日

CPOL

2分钟阅读

viewsIcon

44351

downloadIcon

847

Form Docker 是一个类库 (DLL),可以将任何窗体停靠到屏幕的不同部分。

引言

这个类库可以将任何窗体停靠到屏幕的不同部分。它的作用就像控件的 Dock 属性一样,只是提供了更多的选项。这个类库不仅可以停靠到顶部、底部、左侧、右侧和填充,还可以停靠到屏幕的角落 (右上角、左下角等)。它还可以使用 Padding 属性在屏幕边缘留下空间。

背景

在更新我的一个项目时,我发现我重复编写了很多代码来保持窗体在某个位置。我决定编写这个类库,以便更容易地将窗体保持在特定位置,并且我认为它可能非常有用。如果控件可以停靠,为什么窗体不能停靠呢?

使用库

该类库以 DLL 的形式提供,可以从您的项目中引用。对于那些不了解的人来说,您可以从“项目”菜单中选择“添加引用...”然后选择“浏览”来查找文件。

引用后,您需要创建 FormDocker 类的新实例

Dim Docker As New FormDocker.FormDocker(Me, _
           FormDocker.FormDocker.FormDockMode.Top, New Padding(5))

如果您希望利用类中的事件,也可以使用 WithEvents 声明它

WithEvents Docker As New FormDocker.FormDocker(Me, _
           FormDocker.FormDocker.FormDockMode.Top, New Padding(5))

第一个参数表示要停靠的窗体。第二个是停靠的位置,第三个是内边距。还有可选参数。

声明后,窗体将自动停靠。可以通过使用 Refresh() 随时重新应用停靠,即重新定位窗体。

Docker.Refresh()

要取消停靠窗体,请使用 UnDockForm()。要再次停靠窗体,请使用 DockForm()。这些相当于 Dock = FalseDock = True

'Undock form:
Docker.UnDockForm() 
'Or:
Docker.Dock = False

'Dock form:
Docker.DockForm()
'Or:
Docker.Dock = True

请随意探索库的其他部分,所有内容都有注释。如果您对如何使用此库有任何疑问,请发表评论。

历史

  • 2008/09/23 - 发布版本 1.0。
© . All rights reserved.