Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将项目添加到列表框中列表的开头?_C#_Winforms_Listbox - Fatal编程技术网

C# 如何将项目添加到列表框中列表的开头?

C# 如何将项目添加到列表框中列表的开头?,c#,winforms,listbox,C#,Winforms,Listbox,是否有一种方法可以将项添加到WinForms列表框中,添加到列表的开头,而无需在循环中重写整个列表 解决我的问题的另一种方法是以相反的顺序显示列表框(顶部的最后一项),但我不知道怎么做 “我的列表框”控件用作日志查看器,其中最新条目应位于顶部。在列表框的项目上使用该方法 如果我理解正确,您不能使用Insert(int index,object item)方法吗?例如: myListBox.Items.Insert(0, "First"); 这将插入“First”作为列表框的第一项。如果正在为日

是否有一种方法可以将项添加到WinForms列表框中,添加到列表的开头,而无需在循环中重写整个列表

解决我的问题的另一种方法是以相反的顺序显示列表框(顶部的最后一项),但我不知道怎么做


“我的列表框”控件用作日志查看器,其中最新条目应位于顶部。

列表框的项目上使用该方法

如果我理解正确,您不能使用
Insert(int index,object item)
方法吗?例如:

myListBox.Items.Insert(0, "First");

这将插入“First”作为列表框的第一项。

如果正在为日志事件添加时间戳,则应该能够在数据源中设置排序顺序。

一个选项可能是使用列表框的.sort()方法

当然,另一种方法是将您的项目放入通用列表中,并添加/删除项目
从该列表而不是直接到列表框。使用列表作为列表框的数据源。

我没有科学证据支持我,但我认为文本框在处理日志可视化方面更有效。
您还可以轻松设置自动滚动,如果您想复制某些内容,则不需要任何编码。

我已经解决了我的问题(通过使用insert:p),但只是为了澄清-我正在使用列表框,因为我需要一种简单的方法为每条消息添加项目和自定义颜色(如错误、成功等)我已经为listbox编写了DrawItem处理程序:)