form1包含三个组件:
edit1,button1,treeview11.treeview1中根据数据库中的数据画树(已实现);2.单击button1,treeview1显示在edit1正下方,就像一个combobox下拉列表一样,(已实现);3.双击treeview1,edit1.text显示为选中的树节点名称,然后treeview1隐藏掉。问题:赋值有延迟,总要到下一次显示出treeview时,edit1才能得到上次选中的值,请教该怎么解决呢?
edit1,button1,treeview11.treeview1中根据数据库中的数据画树(已实现);2.单击button1,treeview1显示在edit1正下方,就像一个combobox下拉列表一样,(已实现);3.双击treeview1,edit1.text显示为选中的树节点名称,然后treeview1隐藏掉。问题:赋值有延迟,总要到下一次显示出treeview时,edit1才能得到上次选中的值,请教该怎么解决呢?
begin
edit1.Text:=treeview1.Selected.Text
end;
怎么会有延时??
时,才老不出来的
begin
GlobValue:= TreeView1.Selected.Text;
treeview1.Visible := false;
end;procedure TfrmAddDefect.Button2Click(Sender: TObject);
begin
CreateTree('Table_Severity', '严重级');
treeview1.Left := edit2.Left;
treeview1.Top := edit2.top + edit2.Height;
treeview1.width := 162;
treeview1.Height := 185;
treeview1.Visible := true;
edit2.Text := GlobValue;
end;以上是两段相关的源代码,其中全局变量GlobValue是在原来用treeview1.selected.text失败后用全局变量来保存节点名称的,结果也是失败,各位,这是一个重要的模块来的,帮帮我吧
原来只要加一个变量判断是哪个button产生的click事件,然后再treeview的dblclick事件里边对相应的edit控件赋值就好了,那里的treeview1.selected.text是产生得最及时地。好谢谢各位了!
begin
if btnClicked = 'button2' then
edit2.Text := TreeView1.Selected.Text//这里将产生dblclick事件,所以在这里赋值
else if btnClicked = 'button3' then
.....; treeview1.Visible := false;
end;procedure TfrmAddDefect.Button2Click(Sender: TObject);
begin
btnClicked := 'button2'; CreateTree('Table_Severity', '严重级');
treeview1.Left := edit2.Left;
treeview1.Top := edit2.top + edit2.Height;
treeview1.width := 162;
treeview1.Height := 185;
treeview1.Visible := true; //这里负责显示treeview控件
end;