D
ddzhouqian
Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中用到treeview中的节点拖动到panel,执行某一个过程
但在测试拖动的时候有时候点的比较快,会出现选中多个,也就是好几个子节点的背景为蓝色,出现的原因好像就是在鼠标选中某一节点,准备向某一panel中拖动的时候,鼠标在该选中的子节点上下移动,会选中相邻的子节点,并且释放鼠标后,会发现已经选中了多个子节点,我查了下该treeview的属性:multiselect为false,不知是什么原因?请各位给些意见
另外我在mousedown事件中加了这句
procedure TMainForm.TreeView2MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
if ssRight in Shift then
if TreeView2.GetNodeAt(X,Y)<>nil then
begin
TreeView2.GetNodeAt(X,Y).Selected:=True;
end;
end;
但在测试拖动的时候有时候点的比较快,会出现选中多个,也就是好几个子节点的背景为蓝色,出现的原因好像就是在鼠标选中某一节点,准备向某一panel中拖动的时候,鼠标在该选中的子节点上下移动,会选中相邻的子节点,并且释放鼠标后,会发现已经选中了多个子节点,我查了下该treeview的属性:multiselect为false,不知是什么原因?请各位给些意见
另外我在mousedown事件中加了这句
procedure TMainForm.TreeView2MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
if ssRight in Shift then
if TreeView2.GetNodeAt(X,Y)<>nil then
begin
TreeView2.GetNodeAt(X,Y).Selected:=True;
end;
end;