【问题标题】:How to avoid the user types into a TComboBox?如何避免用户输入 TComboBox?
【发布时间】:2017-03-10 09:50:14
【问题描述】:

我希望在 TCombobox 上更改值的唯一方法是使用鼠标。

如果 Items 是 1,2 和 3,用户可以输入 4 并成为值。

我尝试使用OnKeyDown,但不知何故我想“避免按下键”。 如何做到这一点?

【问题讨论】:

    标签: delphi tcombobox


    【解决方案1】:

    TCombobox.Style 设置为csDropDownList,这样用户将只选择预定义的项目

    【讨论】:

    • 谢谢。这样,运行时管理必须依赖 TComboBox.ItemIndex 而不是 tComboBox.Text 但它可以按预期工作。
    • 这样,运行时管理必须依赖于 TComboBox.ItemIndex 而不是 tComboBox.Text ...这更好,因为它使用整数比较而不是字符串比较。跨度>
    • 我会对上述两个 cmets 说“不一定”。 Items 列表是一个 TStrings 列表,您可以使用 IndexOf('a string') 或使用 ItemIndex 或仅使用 Text 的值进行搜索。这真的取决于你想要什么。它非常灵活。别忘了还有 Items.Objects[] 属性可以让您将一个对象与每个项目关联起来。
    • 无论出于何种原因,它似乎都无法与 10.2 上的 csDropDownList 一起正常工作。无论是提前指定还是通过 ItemIndex/Text 属性进行更改。
    • @RoughTomato 我没有注意到 10.2 上使用 csDropDownList 的任何变化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多