有个问题困扰了我很久,希望有高手能帮我看一下。
现在想要实现的要求是:通过Tcombobox的一个选项关联一个TListView,使得选择这个选项的时候,出来TListView提供增加,删除,修改下拉列表的功能。还有就是TListView提供CheckBox选项,可以让用户多选,多选之后点TListView的退出回到Tcombobox页面时返回选择的项,在Tcombobox的输入框中显示。比如TListView中有1,2,3 三个选项,我全都打上勾之后退出返回TCombobox页面的时候,TCombobox的输入框中就显示1,2,3.现在其它功能都实现了,就是TCombobox的输入框一直都是空的,我是在TCombobox的控件代码中直接加入TCombobox.text :=返回值的,返回值是可以正常得到的。(TCombobox的Style是csDropDown的,直接在TCombobox的输入框输入是可以的,就是通过Text直接赋值得不到)。
不知道应该怎么解决,谢谢大家了!!!
现在想要实现的要求是:通过Tcombobox的一个选项关联一个TListView,使得选择这个选项的时候,出来TListView提供增加,删除,修改下拉列表的功能。还有就是TListView提供CheckBox选项,可以让用户多选,多选之后点TListView的退出回到Tcombobox页面时返回选择的项,在Tcombobox的输入框中显示。比如TListView中有1,2,3 三个选项,我全都打上勾之后退出返回TCombobox页面的时候,TCombobox的输入框中就显示1,2,3.现在其它功能都实现了,就是TCombobox的输入框一直都是空的,我是在TCombobox的控件代码中直接加入TCombobox.text :=返回值的,返回值是可以正常得到的。(TCombobox的Style是csDropDown的,直接在TCombobox的输入框输入是可以的,就是通过Text直接赋值得不到)。
不知道应该怎么解决,谢谢大家了!!!
赋值是没问题的啊。
设置一个Timer,将Timer的Interval属性设置为200,即过0.2秒后发生。(Timer用来将ListView的返回结果延迟写到ComboBox的Text中去)
定义一个String类型的变量ResultStr,用来记录ListView的返回结果
在ComboBox的OnSelect事件中这样写:procedure TForm1.ComboBox1Select(Sender: TObject);
Begin
//这里将ListView显示,并记录返回结果,将结果赋值到ResultStr
Timer1.Enable:=True;//启动计时器
End;Procedure TForm1.Timer1Timer(Sender:TObject)
begin
ComboBox1.Text:=ResultStr;//
Timer1.Enable:=False;//停止计时,只需要写一次即可。
end;
Begin
//这里将ListView显示,并记录返回结果,将结果赋值到ResultStr
ComboBox1.Enabled:=False;//暂时禁止用户操作
timer1.Enabled:=True;
End;Procedure TForm1.Timer1Timer(Sender:TObject)
begin
ComboBox1.Text:=ResultStr;
ComboBox1.Enabled:=True; //允许用户操作
Timer1.Enable:=False;//停止计时,只需要写一次即可。
end;
我的意思你是理解了,但是我的代码是要在combobox的代码里加的,combobox里貌似加了Timer会出错。