繁体   English   中英

如何防止 C# WinForm 列表视图选择更改时按下键和列表视图在第一列的基础上自动查找下一行

[英]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

我的列表视图是从 DB 表填充的当我按下数字键时,列表视图会自动在第一列中找到该键并将选择更改为该项目。 我没有为此目的编写任何代码。 我想停止这样做。

在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM