我正在将公司的 VB6 程序转换为 VB.net,但我遇到了另一个愚蠢的小障碍。
旧程序有一个 ListView 停靠在应用程序屏幕的左侧。用户可以将光标放在 ListView 的右侧部分,光标会变成 SizeWE 箭头,然后他们可以拖动它,这将调整 ListView 的大小。
我正在尝试重新创建这个。据我所知,没有任何属性称为“可调整大小”,或者至少没有任何内容向我弹出。我不相信它是在代码中完成的。
我缺少什么财产吗?如果没有,是否有一种简单的方法可以在代码中执行此操作? (即,有没有一个事件可以让我的生活变得更轻松)
我使用的是 Visual Studio 2008。
如有小白之处请见谅; .NET 对我来说还很陌生,而且我是整个公司唯一的程序员。我才毕业一年.. 预先感谢!
编辑:我知道它在上一个程序中是如何完成的(一旦你提出问题,你似乎总是能找到它,不是吗?)。旧程序有一个不可见的图片,只有几个像素宽,当鼠标悬停在上面时,光标会更改为 SizeWE。然后,您可以拖动该不可见的图片,这将触发一个事件,然后该事件将更改 ListView 的大小。这看起来相当复杂。我的问题仍然存在:是否有更好的方法来处理这种拖动和调整大小?
Splitter
控件,或使用 SplitContainer
控件。
如果您使用 Splitter,最简单的成功方法是:
ListView
控件添加到窗体中,将 Dock
属性设置为 Left
Splitter
控件添加到窗体中,将 Dock
属性设置为 Left
Panel
控件,将 Dock
属性设置为 Fill
这将为您提供一个视图,用户可以在其中调整
ListView
的大小,并且 Panel
(您可以在其中放置所需的任何其他控件)将使用任何可用空间。如果控件的行为不符合您的要求(例如,如果拆分器没有达到您预期的位置),请按照 Format -> Order -> Send to back
、ListView
和 Splitter
的顺序在控件上使用 Panel
命令。
使用 SplitContainer 可以让你轻松地做到这一点。 替代文本http://img30.imageshack.us/img30/6568/captureoq.jpg
使用控件“TableLayoutPanel”并将属性集合“column”从 procent 更改为“autosize”