c# - 在 vb/c#.net 中创建一个连续的列表(像一个轮子)
问题描述
在 Windows 窗体应用程序中,我需要一个列表,该列表一次只显示一个列表项,但可以连续滚动。例如,如果我的列表项是:
A B C D
如果 D 是显示的项目并且我向下滚动,它会返回到 A。这将类似于命运轮(尽管这不是我使用它的目的)。我认为列表控件会有一个连续滚动选项,但我还没有找到。
解决方案
您可以使用 aLinkList<T>
来模拟这一点。我相信你可以在你的 winforms 中使用相同的逻辑,这样每个事件都ScrollSown
可以显示下一个项目
安慰
var linkList = new LinkedList<int>(new int[] { 1, 2, 3, 4 }.AsEnumerable());
var first = linkList.First;
LinkedListNode<int> current = first;
while (true)
{
Console.WriteLine($"Current value {current.Value}, press enter to Go Gext");
Console.ReadLine();
current = current.Next ?? first;
}
WinForms
public LinkedList<object> linkList;
public LinkedListNode<object> current;
public LinkedListNode<object> first;
public Form1()
{
InitializeComponent();
linkList = new LinkedList<object>(new object[] { "A", "B", "C", "D" }.AsEnumerable());
first = linkList.First;
current = first;
listBox1.Items.Add(current.Value);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
current = current.Next ?? first;
listBox1.Items.Add(current.Value);
}
推荐阅读
- python - 使用 RE 将条件值从键插入 dict
- php - 如何短路在 PHP 中开始下载的标头调用?
- python-3.x - 删除多个大型 CSV 文件之间的重复项
- python - say-command mac 语音合成,如何在不同的声道上输出声音?
- python - PySpark - 比较数据帧
- java - 在springboot REST调用上将HttpSession保存在redis中
- apache-camel - Apache Camel doTry doCatch 没有捕获 akka 骆驼异常
- excel - 选择下一个唯一值
- c# - 实体数据源向导版本只兼容Entity Framework 5
- java - 如何使用 public static int main (String args []) ?在爪哇