加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi7,创建组合框项目

发布时间:2020-12-15 04:11:08 所属栏目:大数据 来源:网络整理
导读:我想使用combobox为用户提供各种选项.所以有2个组合框.第一个有大约5个选项,第二个项目将根据用户在第一个组合框中选择的内容创建. 到目前为止,我已经尝试过这个:Combobox2.Items.Strings [1]:=’xxxx’,这出现了我的错误: List out of Bound. 我该怎么办
我想使用combobox为用户提供各种选项.所以有2个组合框.第一个有大约5个选项,第二个项目将根据用户在第一个组合框中选择的内容创建.

到目前为止,我已经尝试过这个:Combobox2.Items.Strings [1]:=’xxxx’,这出现了我的错误:

List out of Bound.

我该怎么办?

解决方法

要在运行时填充TComboBox,您可以这样做[1]:
ComboBox1.Items.BeginUpdate;
try
  ComboBox1.Items.Clear;
  ComboBox1.Items.Add('Alpha');
  ComboBox1.Items.Add('Beta');
  ComboBox1.Items.Add('Gamma');
  ComboBox1.Items.Add('Delta');
finally
  ComboBox1.Items.EndUpdate;
end;

您还可以为其分配预制的TStringList:

ComboBox1.Items.Assign(MyStringList);

[1]:

try..finally部分很重要,因为如果没有它,如果引发异常并且在BeginUpdate和EndUpdate之间没有处理,则组合框将保持(“卡住”)处于“更新”状态,因此将从该点发生故障上.

当然,在这个简单的例子中,异常的风险很小,但在其他情况下,它可能很重要.代码可能会改变:您可能会在将来添加ComboBox1.Items.Add(MightRaise())或if MightRaise(),然后添加ComboBox1.Items.Add(‘Epsilon’).

无论如何,您希望代码在所有情况下都有效,而不是99.9%.此外,上述模式很容易识别,至少对我来说有助于理解代码.如果您始终使用相同的模式,则代码将更容易在心理上进行解析.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读