最近一直在玩Windows Mobile编程,用到ListView控件。陈MM做了项目原型,里头用到了ListView控件罗列所有功能列表。
但我运行了一下,发现必须双击才能激活某一选项。觉得不是很符合用户的使用习惯。如果能是单击响应就好了。
在论坛里查了一下,看到也有同仁遇到相同的问题。
只要Listview有一个Activation属性,把它设置为单击或双击属性,然后在事件中添加ItemActivate事件,缺省是以双击响应。
关于ListView控件的问题:
对于Item的单击事件不知道如何实现,精简包里的listview找不到这样的事件,目前我用的是keypress事件,但是它认的是PPC键盘上的按键事件,对于触摸屏的单击事件就没有办法了。如果用selectindexchange事件的话可以照顾到触摸屏的单击事件,但是有造成了单手操作使用键盘的时候只要获得焦点就激发事件了。
第二个问题解决方法
private void listView_SelectedIndexChanged(object sender, EventArgs e) ListView.SelectedIndexCollection indexes = this.listView.SelectedIndices; foreach (int index in indexes) string s = this.listView.Items[index].SubItems[1].Text;
}
}
//更简单的方法
private void listView_SelectedIndexChanged(object sender, EventArgs e)
{
string s = this.listView.FocusedItem.SubItems[1].Text;
}