这种情况上周才开始发生。我目前在Windows 10上使用VS 2012 Professional,在VB.NET中编码。我已经成功地使用listview . autoresizecolumns (columnheaderautoresizeststyle . headersize)在将listview传递给打印例程之前调整列的大小。我花了一个星期的项目,当我再次运行它时,最后一列开始占用调用该方法后listview宽度的剩余余额,摆脱了一些人所说的"丑陋"的最后一个空列。因此,由于宽度增加,它现在将最后一列推到另一个页面上。它以前没有这样做过。在那一周,我安装了VS 2015社区版来评估。还有人注意到吗?如果是这样的话……解决方案吗?
找到问题了
当使用ListView . autoresizecolumns (ColumnHeaderAutoResizeStyle.HeaderSize)时,只有当ListView的宽度小于总列宽度时,它才会按照期望的大小调整所有列的宽度。如果ListView的宽度比总列宽度宽,那么最后一列将填充剩余的空间,这是我不希望在打印例程中反映的。我在打印程序中使用这些列宽度。问题是这些宽度,随着ListView的宽度变化而变化,被传递到打印例程中。不可靠。
我的解决方法:在调用。autoresizecolcolumns后,我简单地以"老式"方式调整了最后一列的大小。
。我不觉得有必要发布任何代码,就像那个尖刻的、居高俯下的评论所说的那样,因为这是一个行为问题,而不是代码问题,而且只会使问题变得模糊不清。但是谢谢你的输入"视觉"文森特。它真的增加了解决方案!