[英]How to prevent C# WinForm listview selection Change when key is pressed and list view auto find next row on the basis of first column
My listview is populated from DB table When I press a number key the list view auto find that key in first column and change selection to that item.我的列表视图是从 DB 表填充的当我按下数字键时,列表视图会自动在第一列中找到该键并将选择更改为该项目。 I haven't written any code for that purpose.
我没有为此目的编写任何代码。 I want to stop doing this.
我想停止这样做。
For finding item by first column when key pressed in ListView:在 ListView 中按下键时按第一列查找项目:
private void listView1_KeyUp(object sender, KeyEventArgs e)
{
var i = 0;
var data = listView1.Items.Cast<ListViewItem>()
.Select((a,b)=>new { itemText = a.Text, index = i++ })
.ToList();
var findItem = data.Where(w => w.itemText.StartsWith(e.KeyValue.ToString())).FirstOrDefault();
if (findItem == null)
return;
listView1.Items[findItem.index].Focused = true;
listView1.Items[findItem.index].Selected = true;
listView1.Items[findItem.index].EnsureVisible();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.