COMBOBOX的选择改变的问题(50分)

  • 主题发起人 启明星
  • 开始时间

启明星

Unregistered / Unconfirmed
GUEST, unregistred user!
COMBOBOX选择改变,是不是应该用ONCHANGE事件?
我想当改变它(选择下拉列表或者用键盘输入),用ONCHANGE事件,从数据库里面取数,然后把数据库里面的值
付给COMBOBOX.TEXT,可是用键盘输入可以做到,用选择下拉列表就不能做到,他还是改变成为下拉列表中选重的内容,
而不是我想要的数据库里面的内容。怎么解决?
 
Onchange 事件在从列表中选或在文本框中每按输入一个字符都会触发.
我不是很明白你的意思,为什么选择了去查找,查找的结果还要放到组合框中?
直接给COMBOBOX.TEXT赋值不行的话,先在列表中添加
combobox.items.Add(s);
combobox.ItemIndex:=combobox.items.count-1;
 
处理ondropdown和onkeydown(或onkeypress)事件就可以了。
 
我把原码贴出来,
VAR A:STRING; //全局变量
procedure TFORM1.FormCreate(Sender: TObject); //创建窗体
begin
A:=COMBOBOX1.TEXT;
END;
procedure TFORM1.ComBOBOX1Change(Sender: TObject);
begin
COMBOBOX1.TEXT:=A;
end;
意思就是我不想改变,可是,我用键盘输入的时候,
以上的语句起了作用,打开COMBOBOX1的下拉列表进行选择的时候,
以上的语句就不起作用了,到底应该怎么办?
 
参照jsxjd如此实现,但有何意义?
procedure TForm1.FormCreate(Sender: TObject);
begin
A:=COMBOBOX1.TEXT;
combobox1.items.Add(A);
combobox1.ItemIndex:=combobox1.items.count-1;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
combobox1.ItemIndex:=combobox1.items.count-1;
end;
 
下拉选中是 onselect
你在这个事件里写一些处理语句就可以了
 
onclick事件中也要处理一下就行了
 
试验一下,好像ONSELECT事件不可以的。或者真的只要onclick事件就可以了
 
顶部