ListBox 的 Bug ??????

Triumph 2005-12-01 08:53:25
一直用WebControl中的类似于ListBox的控件开发ASP.Net程序,在其Items中只能添加ListItem类型的对象。挺方便。

前些天需要开发一个小的应用程序,用到了WinFrom的 ListBox 控件。看帮助发现它的 Items 中可以添加任意类型的对象,在显示时显示的文字是调用对象的 ToString 方法获取的。于是就根据实际需要编写了一个 ListItem 类,包含 Text 和 Value 属性和一个 ToString 方法。ToString 方法就一句:Return Me.Text,就是以 Text 属性的值做为显示的内容。程序运行时动态创建该类的实例,然后添加到 ListBox 的 Items 中,运行、显示一切正常。

但是在编辑的时候出现了问题:程序修改了 ListItem 的 Text 的值后,ListBox 的显示并没有改变,无论是调用 Refresh 方法还是 Update 方法都没有任何变化。我想肯定是一个BUG,后来仔细想想应该不是:ListBox 并不知道列表项已经改变,所以显示内容不会改变。那么是不是需要通知 ListBox 重新调用 ToString 方法呢?如果是,该怎么通知?
...全文
143 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxufewbt 2005-12-02
  • 打赏
  • 举报
回复
同意swordragon(古道热肠)和hamadou(闵峰)
sx_lxh 2005-12-02
  • 打赏
  • 举报
回复
swordragon(古道热肠)的方法最简单。
hamadou(闵峰)的方法也好,但要的语句稍微多些。
kason_j 2005-12-02
  • 打赏
  • 举报
回复
要刷新一下才能显示的
楼上的做法就可以了
swordragon 2005-12-01
  • 打赏
  • 举报
回复
必须把修改后的ListItem重新赋值给ListBox才可以。
Triumph 2005-12-01
  • 打赏
  • 举报
回复
这么快就沉了?没人知道么?
kjq_vb 2005-12-01
  • 打赏
  • 举报
回复
同意楼上
hamadou 2005-12-01
  • 打赏
  • 举报
回复
你可以在修改后触发一个方法来刷新你的显示,比如说,你可以让listbox重新在这个位置插入新的item,并且把原来的删除掉。
要就下,不要不要T我,写得不好,请报告BUG;版主:每次我发一个自己的源码或控件怎么只有5或6分,这次能否给7分。不知能不获得7毛钱。 想用数字或拼音码代替汉字的输入吗,请试试这个控件。描述:控件TCsbListBoxEx功能如下: 实现汉字的快捷输入,用分页的方式把要选择输入的字符串列表放到TCsbListBoxEx里,每页10项,对应的按按键为[0...9] 字符串列表里字符串来自于数据库的一张表,表中有两个字段,汉字对应的字段和相应拼音码对应的字段。获得汉字拼音码的方法有很多,网上有相应的控件。在最先录入时设置好对应的拼音码。以后可进行方便的输入。在焦点控件EDIT里输入拼音码或数字就可以输入相应的汉字。当焦点控件EDIT失去焦点后,会得到真正的汉字。TCsbListBoxEx控件屏蔽了焦点控件EDIT的,OnExit、OnKeyPress、OnChange三个事件。 本控件主要用天录入数据量大,且有汉字的地方,非常方便。 本控件提供了5个方法; <1>关键函数及说明 csbListBoxEx1.SetEditFieldName( //函数参数说明 TEdit(Sender), //指明输入EDIT qry_lst, //TADOQUERY控件, 在此之前不用打开 qry_lst控件 conn.ConnectionString, //TADOQUERY控件的连接字符串 ‘BedType‘, //对应的表名 ‘BedName‘, //字段名称 ‘BedNamePym‘, //字段名称对应的拼音码的字段名称 false); 在数据库test.mdb里给出了表的结构 下面是TcsbListBoxEx的翻页函数和调用方法。 <2> CsbListBoxEx1.FirstPage; //第一页 <3> CsbListBoxEx1.PreviousPage; //上一页 <4> CsbListBoxEx1.NextPage; //下一页 <5> CsbListBoxEx1.LastPage; //最后页end; 开发意图:加快汉字的录入速度。作者:陈绍彬Email:chenshaizi@163.comQQ:10772221时间:2003-10-25版本:1.00性质:freeware with source最新版本下载:http://csbsoft.35123.net/down/vcl/CsbListBoxEx.rar}

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧