举个例子,问题简化一下:
有一个树形结构和一个edit1框:
--公司1
--公司2
--公司3
很容易在treeview的change事件中可以实现点击不同节点时在edit1中显示不同的节点名,比如点击‘公司1’在edit1中显示‘公司1’,同样,点击‘公司2’在edit1中显示‘公司2’。现在关键是:??我想实现 :在‘公司1’选中时,在edit1中修改‘公司1’为其他值时,树形结构中的‘公司1’也动态改变。当然‘公司2’选中时也可以在edit1中编辑‘公司2‘。如果用edit1的change事件,当treeview切换节点时也会触发edit1的change事件,就引起了程序的混乱。请问该怎么处理呢?
有一个树形结构和一个edit1框:
--公司1
--公司2
--公司3
很容易在treeview的change事件中可以实现点击不同节点时在edit1中显示不同的节点名,比如点击‘公司1’在edit1中显示‘公司1’,同样,点击‘公司2’在edit1中显示‘公司2’。现在关键是:??我想实现 :在‘公司1’选中时,在edit1中修改‘公司1’为其他值时,树形结构中的‘公司1’也动态改变。当然‘公司2’选中时也可以在edit1中编辑‘公司2‘。如果用edit1的change事件,当treeview切换节点时也会触发edit1的change事件,就引起了程序的混乱。请问该怎么处理呢?
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Edit1.Text := Node.Text;
end;procedure TForm1.Edit1Change(Sender: TObject);
begin
TreeView1.Selected.Text := Edit1.Text;
end;切换节点时是先触发TreeView1Change然后才触发Edit1Change,就相当于在Edit1Change重新把相同的值写了一遍到Node里面去而已
但是用treeview的click或者change事件在edit1中显示对应数据时,都会引发edit1的change事件,使得数据混乱了,怎么办呢?