当WinForm Treeview被编辑时,能否控制那个像Textbox的编辑框?
可否?我要取消默认的全选,想把光标转到最前面去。

解决方案 »

  1.   

    好像只能通过API调用实现了,实现思路大概这样:
    1、实现树形控件的BeforeLabelEdit事件
    2、当进入树节点编辑时,BeforeLabelEdit事件触发
    3、在BeforeLabelEdit事件中,计算出最后一个字的坐标
    4、用SetCursorPos函数,将鼠标移动到最后一个字的的坐标点
    5、用mouse_event函数,模拟鼠标单击事件这样等于是模拟了人为将光标移动到最后一个字。试试看。
      

  2.   

            [DllImport("user32.dll")]
            static extern bool SetCursorPos(int X, int Y);        [DllImport("user32.dll")]
            static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);以上是对应的API声明。