Luc*_*uan 2 c# listview visual-studio-2010 winforms
美好的一天,伙计们。
我目前正在创建某种广告应用程序。这是从上到下滚动的简单文本,并且会再次重复。我目前正在使用 listview 在 C# 中执行此操作。将在列表视图中显示的文本将来自数据库。我正在使用计时器自动刷新表单。问题是如何在每次加载表单时自动移动它或从上到下滚动它,并在每次完成时再次重复。
谢谢。
这是目前King King先生要求的代码。
private void timer1_Tick(object sender, EventArgs e)
{
this.Refresh();
listView1.TopItem = listView1.Items.Cast<ListViewItem>().LastOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
您可以设置ListView.TopItem为最后一项,它应该确保滚动条位于底部:
listView1.TopItem = listView1.Items[listView1.Items.Count-1];
Run Code Online (Sandbox Code Playgroud)
您应该确保您listView1至少有 1 项,这是更安全的 LINQ 版本:
listView1.TopItem = listView1.Items.Cast<ListViewItem>().LastOrDefault();
Run Code Online (Sandbox Code Playgroud)
如果您想按每个项目从上到下滚动,请尝试以下操作:
int lastIndex;
private void timer1_Tick(object sender, EventArgs e)
{
this.Refresh();
int i = listView1.TopItem == null ? -1 : listView1.TopItem.Index;
if(i>-1) {
if(i == lastIndex || i == listView1.Items.Count - 2) i = 0;
lastIndex = i;
listView1.TopItem = listView1.Items[++i];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11804 次 |
| 最近记录: |