请教:ListView的当前选择项该如何确定? 可以简单的用this.listview1.selectItem就可以了啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你想选择当前项的话,用selectItem如果你想编程选择某一项的话用://Make sure the listview has focus listView1.Focus(); listView1.Items[i].Selected = true; 可是我想要的是它的Index,用SelectItem的话好象有些怪怪的。 我试过了,SelectItem是不带Index属性的。我只要个当前Index,拜托啦! selectItems有什么奇怪的嘛,那你就用this.lstField.SelectedIndices if (lvSchemeList.SelectedIndices.Count>0){ lvSchemeList.Items[lvSchemeList.SelectedIndices[0]];//当前选择项} 再试了一次,还是不行。我还是把我的问题再详细地说一下吧!我的form中有一个ListView,里面有8个Item,然后还有一个TextBox。我的要求是:ListView不能多选,只能单选;根据每次选择项的不同,从配置文件里读取相应的数值显示在TextBox中。也就是说,TextBox的内容是根据ListView选择项的索引值而改变的。前面我已经说过:我原先的做法是在ListView的SelectedIndexChanged事件中响应,而这个事件是正当Index发生变化的时候发生的,也就是说,我在Index变化的过程中却想读取Index。这也就解释了为什么SelectedItems和SelectedIndices用起来会有些奇怪;但在List模式下可以用FocusedItem而在Details模式下不行却仍是无法解释。大家帮帮我吧!分不够我可以再加的。 ListView1.SelectedItems[0].Tag.ToString()用这个不好吗? ListView1.SelectedItem.Value难道不行?? 怎么我说得不够清楚吗?同志们呀!我要的是Index,是Index呀~~~我不需要改变ListView的值,也不要读取其他什么东西,我只要Index,就那么个INT32的值... listview.FocusedItem.Index呵呵,应该可以吧? 我在楼顶就写了呀!我原先用的就是这方法,可是当我的ListView从View改为Details时便会出错了。 我将代码再仔细看了一次,终于发现了问题所在。大家请看看,以下就是我原来的代码:int nIndex = 0;nIndex = this.lstItems.FocusedItem.Index;就这么简单的两句,却抛出了NullReferenceException,说“未将对象引用设置到对象的实例”。我不是很明白:lstItems是我放置在窗口中的控件,本来就是ListView的一个实例,这句话到底是怎么回事?大家再看看,这是我修正后的代码:int nIndex = 0;try{ nIndex = this.lstItems.FocusedItem.Index;}catch(NullReferenceException ex){ //MessageBox.Show(ex.ToString());}这样写程序就能非常顺畅地运行了。可是这样子做也太唬弄人了吧?谁能把这道理解释清楚吗?感激不尽呀!PS:版主们都那去啦?来帮帮忙嘛!急呀! richtextbox获取值 老大,问个问题,比较偏,关于WEBBROWSER的 关于sender的简单的问题 谁用过C1webchart,请帮帮忙 为何这样转换不行,如何才可以? 正则表达式(从一个指定的源字符中选择出需要的行) 在c#的窗体里,用按扭之类的控件触发对文本文件进行处理,不管你处理的文件有多少大小,窗体都会僵死在那里不能动,但进程其实还在运行, C#如何判断process初始化完毕! datagrid能否自己手工添加数据 求指点“委托,回调函数”的理解 WinForm高亮度显示的难题,如何在RichTextBox中,对一些特殊关键字高亮度显示? 谁帮我看看这行代码
如果你想编程选择某一项的话用:
//Make sure the listview has focus
listView1.Focus();
listView1.Items[i].Selected = true;
我只要个当前Index,拜托啦!
{
lvSchemeList.Items[lvSchemeList.SelectedIndices[0]];//当前选择项
}
难道不行??
我不需要改变ListView的值,也不要读取其他什么东西,我只要Index,就那么个INT32的值...
int nIndex = 0;
nIndex = this.lstItems.FocusedItem.Index;就这么简单的两句,却抛出了NullReferenceException,说“未将对象引用设置到对象的实例”。我不是很明白:lstItems是我放置在窗口中的控件,本来就是ListView的一个实例,这句话到底是怎么回事?大家再看看,这是我修正后的代码:
int nIndex = 0;
try
{
nIndex = this.lstItems.FocusedItem.Index;
}
catch(NullReferenceException ex)
{
//MessageBox.Show(ex.ToString());
}这样写程序就能非常顺畅地运行了。可是这样子做也太唬弄人了吧?谁能把这道理解释清楚吗?感激不尽呀!PS:版主们都那去啦?来帮帮忙嘛!急呀!