2009-12-08 71 views
0

我将我公司的VB6程序转换为VB.net,我已经打到另一个愚蠢的小障碍。ListView调整与用户拖动(VB.net)

旧程序的ListView停靠在应用程序屏幕的左侧。用户可以将光标放在ListView的右边部分,光标会变成SizeWE箭头,然后拖动它,这将调整ListView的大小。

我想重新创建这个。据我所知,没有一种叫做“Resizable”的财产,或者至少没有任何东西出现在我面前。我不相信这是在代码中完成的。

是否有我遗失的财产?如果没有,在代码中有没有简单的方法来做到这一点? (即是有一个事件,将让我的生活更容易)

我使用Visual Studio 2008

请原谅任何noobness; .NET对我来说还是很新的,我是整个公司中唯一的程序员。我只有一年没有上学.. 在此先感谢!

编辑:我看到它是如何在上一个程序中完成的(当你问这个问题时,你总是会发现它,不是吗?)。旧程序有一个只有几个像素宽的无形图片,当它悬停时会将光标更改为SizeWE。然后你可以拖动那个看不见的图片,这会触发一个事件,然后改变ListView的大小。这似乎相当复杂。我的问题仍然存在:是否有更好的方式来处理这种拖动和调整大小?

回答

1

您应该考虑使用Splitter控件,或者使用SplitContainer控件。

如果您使用分离器,成功的最简单的方法是这样的:

  • ListView控件添加到窗体,设置Dock属性Left
  • Splitter控件添加到窗体,设置在Dock属性Left
  • 添加Panel控制的形式,设置Dock属性Fill

这会给你一个视图,用户可以调整ListViewPanel(你可以放置任何你需要的其他控件)的大小,使用任何可用的空间。如果控件的行为不符合您的要求(如果分配器没有按照您的期望结束),请使用命令ListView,SplitterPanel的控件上的Format -> Order -> Send to back命令。

+0

啊....是的..那就做到了。 谢谢亲切 – 2009-12-08 22:48:00