非常感谢您能查看我的帖子!
我做了这样一个小程序,文本框中输入内容,下面的空白处是ListView,用来数据展示结果。
比如输入“254”字符串时,显示如下内容:
同时,我也设置了键盘操作功能,就是按“↓”键时,光标就会向下移。
当移动到分组“客户信息”时,我按下回车(有相关事件处理程序,下同),应该会弹出客户的详细信息。
之前没有分组时,一切OK的。现在刚做了分组后,直接出错了,提示如下:
后来我排查了一下,是代码用的地方的问题,之前使用的是这个代码
也就是ListView.FocusedItem来定位我光标选择到的项,为什么我分组后就不行了呢?
后来修改成上面的代码,完全没有问题了。
好了,我现在来说我发现在的疑似Bug的地方吧
现在还是还原到FocusedItem的代码上来。
用键盘把光标移动到这个图片的位置上时,
现在按回车,本应该弹出详细信息窗体的,但是提示的错误是下图
我调试才发现是FocusedItem为null了。
这个时候光标还是在这个图的位置:
这个时候我再按下“↓”键时还是在原来的地方不动,这个时候,我再按回车时,错误消失了,正确弹出的窗体。
也就是说,我的光标从下往下走,到了分组“客户信息”后,也就是“李老师。。。”这一行时,
光标第一次到FocusedItem为null,再按下一次“↓”,光标还是没有动!!!还是在原地。
但这个时候,再按回车时,FocusedItem就已经有值了,程序也就正常了。
我想问的是,分组后:为什么光标会在“李老师。。”这一行按两次“↓”,光标都没有动,
第一次FocusedItem为null,第二次FocusedItem也就是null,程序就正常了,这算不算是Bug呢?
如果您想和我一起研究一下,我可以给您发源代码,供您测试。非常感谢各位参与交流讨论。