如何从ListView控件中的所有项目中删除焦点?
题
在 ListView
控件中,重点是该控件中的一些 Item
- 也就是说,控件保持自己内部的焦点,这可以是使用 FocusedItem
属性检索。
我希望没有项目可以集中注意力。换句话说,我希望 FocusedItem
属性设置为 null
。知道如何实现这个目标吗?
解决方案
扩展Vanuan的答案:
if (listView1.FocusedItem != null)
{
listView1.FocusedItem.Focused = false;
}
有些东西告诉我你也想要取消选择该项目。所以,你可能也想这样做:
if (listView1.SelectedItems.Count != 0)
{
listView1.SelectedItems[0].Selected = false;
}
其他提示
我认为,它是
listView1.FocusedItem.Focused=false;
确保listView1.FocusedItem不为空。
(感谢 brianpeiris 扩展)
将新项目添加到列表视图控件时,它会在项目周围绘制虚线框。在某些情况下,您不需要此视觉提示。简单地选择所选项目就足够了。这是在将新项目添加到列表视图控件时阻止虚线框显示的一种方法。
ListViewItem item = new ListViewItem();
myListView.Items.Add(item);
myListView.SelectedItems.Clear();
myListView.FocusedItem = null;
myListView.Refresh();
更新:结果 我的解决方案无法解决问题。我希望有一种简单的方法可以“不聚焦”。一个控件,但谷歌搜索几个小时后,我找不到任何。我也在寻找一种方法来防止这些虚线出现。当我单击按钮添加列表视图项时,没有问题。只有当我按Tab键进入按钮(接收输入焦点)后按此键才会显示。
不隶属于 StackOverflow