讨饭天涯

欢迎参观讨饭猫的垃圾桶
随笔 - 27, 评论 - 270, 引用 - 84

导航

工具

每月存档

广告



访客

 
这两个星期由于种种原因,PPC编程一直没有进展。其中一个困扰的问题就是与ViewList控件有关。
在From Design状态下double click一个控件自动弹出的事件是 SelectedIndexChanged 。按道理这个事件可以用于相应用户点击List中的选项,但奇怪的是,我的程序响应这个事件后经常出错,都是系统错误。不巧的是最近家里没有Internet,公司里又太忙,一直没有找出原因。昨天利用长假期的最后一天冒着中蠕虫的危险拨号上网,查找文章又跟踪良久,终于发现原因所在。
跟踪结果表明,这个事件至少在以下几个情况下会被触发:add或者delete List中item的时候,用户点击另一个item的时候会被触发两次,一次是上一个选择消失,一次是新item被选择。在以上情形中,其实只有第三个是我们真正需要的。而前两个情况下由于实际上没有item被选择,如果直接去读取被选项的值就可能会导致系统溢出。所以结论是在使用这个事件时必须首先判断是否有item被选择。

private void SearchList_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (SearchList.SelectedIndices.Count>0)
{
rcode=SearchList.Items[SearchList.SelectedIndices[0]].Text;
rname=SearchList.Items[SearchList.SelectedIndices[0]].SubItems[1].Text;
}
}

由于.NET Compact Framework 只是 .NET Framework的一个子集,所以.NET CF 并不是完全兼容 .NET Framework。ViewList就是一个例子。粗略估计一下,CF中的ViewList只支持大约30%的属性和方法,一些重要的属性没有兼容,例如SelectedItem,而在网上能找到的.NET编程资料大多是使用这个属性及其方法。

随贴广告(测试期)
相关文章

打印 | 张贴于 2003-09-15 23:42:00 | Tag:暂无标签

留言反馈

暂时没有留言纪录
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System