日期:2014-05-17  浏览次数:22568 次

c# 如何编辑listview的某一单元格
我想实现c# winform中 listview某一列(不是第一列)可编辑,当点击某一单元格时出现对话框来编辑内容,编辑后点击确定保存,或者是直接在单元格中编辑也行。

------解决方案--------------------
在双击行事件中编写代码不就行了,把选择行的,要修改的信息加载到弹出窗体上,修改后更新对应列的值就Ok了。

------解决方案--------------------
那你还不如用datagridview呢
------解决方案--------------------
在这列的单元格的点击事件里处理。弹出编辑窗口。showdialog方式。
处理完了把输入的值反映上去就得了。
------解决方案--------------------
你需要做的是首先判断一下你点击的是哪一行
ListViewItem lvitem = this.listView1.GetItemAt(e.X, e.Y);
然后发送系统消息获取每一单元格的rect,
intSendMessage = SendMessage(this.listView1.Handle, LVM_GETSUBITEMRECT, lvitem.Index, ref   myrect);
之后判断是否鼠标的点击坐标是否在这一rect内,就可以获取你要的单元格了.