Delphi 如何使用下拉列表的不同选项自动填充编辑字段?

Delphi 如何使用下拉列表的不同选项自动填充编辑字段?,delphi,drop-down-menu,edit,autofill,Delphi,Drop Down Menu,Edit,Autofill,我在Delphi中使用VCL表单,我在其中放置了大约10个编辑框。 这些编辑框包含与特定型号的太阳能电池板相关的值。 为了计算太阳能电池板的输出功率,需要这些值。 到目前为止,我能够使用命令在每次运行中键入这些值: c0:= StrToFloat(Edit1.Text); 对于c0到c10。但是,除了要求用户在每次运行中手动键入这10个值外,是否有任何方法可以让用户选择下拉列表中的一个选项(即太阳能电池板的型号)并自动填充这些值 combobox会做这样的事情吗?如果是,具体做什么?对不起,我

我在Delphi中使用VCL表单,我在其中放置了大约10个编辑框。 这些编辑框包含与特定型号的太阳能电池板相关的值。 为了计算太阳能电池板的输出功率,需要这些值。 到目前为止,我能够使用命令在每次运行中键入这些值:

c0:= StrToFloat(Edit1.Text);
对于c0到c10。但是,除了要求用户在每次运行中手动键入这10个值外,是否有任何方法可以让用户选择下拉列表中的一个选项(即太阳能电池板的型号)并自动填充这些值

combobox会做这样的事情吗?如果是,具体做什么?对不起,我是一个全新的Delphi用户。非常感谢您的帮助

  • 将组合框
    Style
    设置为
    csDropDownList
  • 用适当的值填充组合框
    ,供用户选择
  • 在select上添加一个
    事件处理程序。每当用户在组合框中选择一个新项目时,就会触发该命令
  • 根据
    ItemIndex
    的值,通过使用适当的值填充编辑控件,实现
    OnSelect
    事件处理程序

  • 您需要考虑一下UI。如果用户更改组合框选择,则编辑控件值将更改。但是用户可以修改编辑控件吗?现在,编辑控件中的值不再与组合框匹配。这就是你想要的吗?我想UI需要再润色一点。

    您可以使用TComboBox.OnSelect事件来更改10个edit.Text属性。@David:我在TForm2.FormCreate选项下创建了该框及其选项。我使用“if”语句添加了编辑值,如:if ComboBox1.ItemIndex=0,然后Edit1.Text:=FloatToStr(一些双精度)。它起作用了,但每次我从combobox中选择一个选项时,它都会重新创建相同的选项,combobox会变大…OnSelect在FormCreate上。我做错了什么(当表单加载时,您需要填充组合框并设置其属性一次。
    FormCreate
    就可以了。不要在
    OnSelect
    处理程序中添加更多的项,因为它会重复触发。每当用户选择一个新项时,该处理程序就会触发。您想响应
    OnSelect
    处理程序中的用户选择吗ler.谢谢,我必须创建一个Combobox1Select事件,并将我的if语句放在其中。另外,对于UI,我不希望用户干扰这些值,因此我将编辑框设置为只读。