我试图以编程方式 Select ListView中的第一项,但它似乎未被选中.我使用的代码如下:
if (listView1.Items.Count > 0)
listView1.Items[0].Selected = true;
事实上,我以前也遇到过这个问题,但我不记得是怎么解决的!
我试图以编程方式 Select ListView中的第一项,但它似乎未被选中.我使用的代码如下:
if (listView1.Items.Count > 0)
listView1.Items[0].Selected = true;
事实上,我以前也遇到过这个问题,但我不记得是怎么解决的!
最有可能的情况是,被选中的项is,您无法区分,因为不同的控件具有焦点.有几种不同的方法可以解决这个问题,具体取决于应用程序的设计.
简单的解决方案是,每当显示窗体时,首先将焦点设置为ListView
.用户通常通过点击控件来将焦点设置到控件上.但是,您也可以指定哪些控件以编程方式获得焦点.执行此操作的一种方法是将控件的制表符索引设置为0(最低值表示将具有初始焦点的控件).第二种可能是在窗体的Load
事件中使用下面的代码行,或者在设置Selected
属性之后立即使用下面的代码行:
myListView.Select();
此解决方案的问题在于,当用户将焦点设置为表单上的其他控件(例如文本框或按钮)时,所选项目将不再突出显示.
要解决此问题,您需要将ListView
控件的HideSelection
property设置为False.这将使选定项变为remain highlighted,即使控件失go 焦点也是如此.
当控件has聚焦时,所选项目的背景将用系统突出显示 colored颜色 绘制.当控件not具有焦点时,选定项的背景将以用于灰色(或禁用)文本的系统 colored颜色 绘制.
您可以在设计时或通过以下代码设置此属性:
myListView.HideSelection = false;