【发布时间】:2013-07-28 14:12:24
【问题描述】:
我正在向 C# 列表框中添加项目,并希望始终将其滚动到添加到列表中的最后一个项目,以便它可见。该列表通常会超出可用空间,因此将显示垂直滚动条,并且当用户可以移动它时,我需要使用新项目再次强制它跳转到末尾。我发现的唯一有用的方法是将 TopIndex 属性与框中的行一起使用 - 可以显示的行数。我使用下面的代码可以正常工作,除非其中一行太长,在这种情况下,水平滚动条会占用大约最后 2 个项目的空间。如果我能确定是否显示了水平条,我可以更改计算中的行数来解决它。
LB1.Items.Add(strText);
LB1.TopIndex = Math.Max(0,lbXmlMsg.Items.Count - 10); // 10 rows visible
要确保新项目可见,这似乎需要做很多工作。我在这里错过了什么吗?
【问题讨论】:
-
你没有遗漏任何东西,只是在需要时添加滚动条的问题,我相信我已经看到了很多这方面的主题,只是现在还不确定