问题描述
我使用 Winforms ListBox 作为事件的小列表,并希望填充它以便最后一个事件(底部)可见.SelectionMode
设置为无.用户可以滚动列表,但我希望它从滚动到末尾开始.
I am using a Winforms ListBox as a small list of events, and want to populate it so that the last event (bottom) is visible. The SelectionMode
is set to none. The user can scroll the list but I would prefer it start out scrolled to the end.
鉴于缺乏对 ScrollIntoView
、EnsureVisible
等内容的支持,我假设我需要创建一个继承自 ListBox 的自定义控件;但是我不确定从那里做什么.
Looking at the lack of support for things like ScrollIntoView
, EnsureVisible
, I am assuming I will need to create a custom control that inherits from ListBox; however I'm not sure what to do from there.
一些指针?
推荐答案
我相信您可以通过设置 TopIndex
属性适当.
I believe you can do that easily by setting the TopIndex
property appropriately.
例如:
int visibleItems = listBox.ClientSize.Height / listBox.ItemHeight;
listBox.TopIndex = Math.Max(listBox.Items.Count - visibleItems + 1, 0);
这篇关于如何滚动到 ListBox 底部?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!