关于TComboBox的一点小问题

huhaomcu 2013-12-27 02:33:54
就是我想用ini文件保存TComBox内上次的信息,可现在遇到了一个问题就是通过读取ini文件内的信息想赋给TComboBox控件时有点问题,发现非要将TComboBox控件的Style设置为csDropDownList才能给TComboBox控件去赋值,但是我原则上又不想将TComboBox控件的Style设置为csDropDownList!
两种方式都不行:
cbbPort.Items.Append(ini.ReadString('SerialPort Configuration','Port',''));



cbbPort.Text := ini.ReadString('SerialPort Configuration','Port','')

...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbdzjx 2014-01-03
  • 打赏
  • 举报
回复
引用 4 楼 huhaomcu 的回复:
[quote=引用 3 楼 kiboisme 的回复:]

  cbbPort.ItemIndex := cbbPort.Items.IndexOf(ini.ReadString('SerialPort Configuration','Port',''));
这种方式应该不行,假如说你上次ini文件中保存的ItemIndex是10,而此次程序启动后却没有如此多的索引,那绝对会引起异常的!![/quote] 加上TRY语句,如果出异常就不显示。
蓝色光芒 2014-01-02
  • 打赏
  • 举报
回复
没试就喊不行?异常何来?无语 上次保存的假设文本是"ABC",载入时,如果没有ABC,那ItemIndex := -1,就是空白,
huhaomcu 2013-12-30
  • 打赏
  • 举报
回复
引用 3 楼 kiboisme 的回复:

  cbbPort.ItemIndex := cbbPort.Items.IndexOf(ini.ReadString('SerialPort Configuration','Port',''));
这种方式应该不行,假如说你上次ini文件中保存的ItemIndex是10,而此次程序启动后却没有如此多的索引,那绝对会引起异常的!!
蓝色光芒 2013-12-28
  • 打赏
  • 举报
回复

  cbbPort.ItemIndex := cbbPort.Items.IndexOf(ini.ReadString('SerialPort Configuration','Port',''));
sololie 2013-12-27
  • 打赏
  • 举报
回复
是 OnDropDown, 在点击打开下拉列表时添加项,在OnCloseUp时清空,免得下次再点时会重复add 或者在OnDropDown中做下判断,如果已经add过了,就不要再add了
sololie 2013-12-27
  • 打赏
  • 举报
回复
在OnDrawDown事件中add, 在OnCloseUp中clear

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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