错误 ListBox 使用 DrawItem 向上滚动 - 向下滚动

Posted

技术标签:

【中文标题】错误 ListBox 使用 DrawItem 向上滚动 - 向下滚动【英文标题】:Error ListBox scroll up - down with DrawItem 【发布时间】:2012-06-04 07:43:51 【问题描述】:

我不确定我的列表框,我已经创建了一个带有项目的列表框,当我向上滚动时没关系,但是当我绘制项目图像(图像+项目名称)时,我看到了带有项目名称的图像,但在上下滚动时出现问题。

有什么问题?

【问题讨论】:

我的代码很复杂,因为我得到了 SkypeKit.NET 教程 8,Skype 教程 8 谈论对话,但是 Skype 提供对话列表没有头像和可用性,只有对话名称!,我想自定义在 ListBox 中具有可用性的 drawItem AvatarImage,现在该列表框已经绘制,但是当我向上滚动列表框时出错,当我滚动它时我不知道会发生什么。 我有类似的问题。你有没有类似的东西:MyListBoxItem item = listBox1.Items[e.Index] as MyListBoxItem;if (item != null) e.Graphics.DrawString(item.Message, listBox1.Font, SolidBrush(item.ItemColor), 0, e.Index * listBox1.ItemHeight); 是的,和你的类似,见下面的代码:e.Graphics.DrawString(convers.P_DISPLAYNAME, e.Font, textBrush, e.Bounds.Left + 20, e.Bounds.Top + 5); e.Graphics.DrawImage(getContactImage(convers), e.Bounds.Left + 5, e.Bounds.Top + 5, 14, 14); 不确定,但我敢打赌getContactImage(convers) 有问题。 试试msdn.microsoft.com/en-us/library/dbsak4dc.aspx,你会发现问题是否仍然存在 【参考方案1】:

您是否考虑过使用ListView 而不是类似于http://www.codeproject.com/Articles/13006/Extended-ListView 或here 的ListBox

【讨论】:

ListView 是专门的ListBox,所以ListBox 应该更简单。我建议尝试一下。以下是一些区别:***.com/questions/227231/…、***.com/questions/4703641/… 和 social.msdn.microsoft.com/Forums/is/wpf/thread/…

以上是关于错误 ListBox 使用 DrawItem 向上滚动 - 向下滚动的主要内容,如果未能解决你的问题,请参考以下文章

007. 自定义ListBox的item的宽高, 字体居中

使用 WM_DRAWITEM 闪烁

VBA ListBox和ComboBox显示错误的字符

如何上下移动listBox中的项目?

自绘CListCtrl类,重载虚函数DrawItem

C# ASP.Net - ListBox - onSelectedIndexChanged 导致错误