【发布时间】:2018-01-23 06:13:44
【问题描述】:
我在我的应用程序的 ListBox 中注意到了这个问题,然后确定 MSDN 上给出的 ListBox.MeasureItem 示例也遇到了同样的问题。
当您将 ListBox 的 DrawMode 设置为 OwnerDrawVariable 以处理 MeasureItem 事件(例如绘制增加高度的列表项)时,如果您单击最后一项下方的空白区域,控件将选择最后一项。
我希望它的行为方式与 DrawMode 设置为 OwnerDrawFixed 或 Normal 时的行为方式相同,并且在用户单击项目列表下方的控件时不更改项目选择。
我尝试通过处理 MouseDown 事件来实现此行为,发现控件在触发 MouseDown 事件之前选择了最底部的项。
我想知道我是否需要继承 ListBox,或者是否有更好的方法来做到这一点。
为了查看行为,来自 MSDN 的代码示例就足够了:
https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.measureitem(v=vs.110).aspx
【问题讨论】:
标签: winforms