日期:2014-05-19  浏览次数:20666 次

C#关于listview,急!!!!!!!!!!!!!!!!!!!!!!
小弟在编程时,遇到以下问题:
1就是一些函数的调用,比如事件处理方面如
private   void   listView3_DoubleClick(object   sender,   EventArgs   e){}
是小弟在msdn中搜到的,然后再码上去。真累,可是看关于这些事件处理的说明后有些不明白。
1.小弟想在编程环境中像
private   void   listView3_SelectedIndexChanged(object   sender,   EventArgs   e)   一样只要在listview77.cs[设计]中点击相关内容就会出现到listview77.cs*中。

2.还有小弟想在listview中利用doubleclick捕捉坐标,然后利用   listView3   .GetItemAt(x,y)返回坐标所在的项的值,可是对于listView3_DoubleClick(object   sender,   EventArgs   e){}如何用小弟搞不明白。
如何对应GetItemAt中的参数(x,y)希望各位大哥帮忙解决,小弟在这里衷心感谢!!如果有其他方法,大家可以共同学习共同进步。急!!!!!!!!!!!!!!!!!


------解决方案--------------------
C#控件都可以使用属性页的事件,双击自动生成
ListView.DoubleClick事件针对的是对ListView中的某项的双击事件,而不是对控件(VS.net中描述有问题)。所以当响应这个事件时,肯定有一个Item已经被选中了。
------解决方案--------------------
如果是DoubleClick ,ListView.SelectedItem就是当前鼠标坐标下的item。
要判断是否为null才用.我一直是这样
------解决方案--------------------
事件的方法是需要委托来指定。如果你只写方法,没有订阅事件,在触发事件时,是不会调用方法的。
解决办法。
1 将方法复制到代码中
2 在设计视图,选择listview控件
3 在事件列表中找到DoubleClick事件,在后面选择刚才复制的控件名。

如果要返回坐标可以使用MouseUp事件,事件方法中参数e,提供了鼠标的坐标