用DesignSurface制作出一个设计器,如何才能在设计器中响应键盘命令和鼠标操作命令呢?
比如在设计器中选定一个控件,按键盘的方向键可以移动该控件位置;对控件点鼠标右键可以弹出右键菜单,等等这些事件应该在哪里添加?谢谢

解决方案 »

  1.   

    在容器的 keydown 事件中写
    --------------------------调用 IMenuCommandService.GlobalInvoke( 以System.ComponentModel.Design.StandardCommands 成员为参数,)。如,StandardCommands.Copy 就是复制 ,
      

  2.   

    容器是说比如Form,Panel吗?我试过找到它们的实例,对他们加事件,却都不能响应,但是修改他们的属性就可以,比如修改他们的位置。但郁闷的是,比如修改某个控件的Left属性后,控件的确是移动了,但是控件选中状态时包围着它旁边的白色方块却不会跟着移动,这个有办法解决吗?GlobalInvoke来执行菜单命令是知道的,但只能对控件做对齐和编辑操作,似乎不能左移一个象素之类的操作哦。
      

  3.   


    比如修改某个控件的Left属性后,控件的确是移动了,但是控件选中状态时包围着它旁边的白色方块却不会跟着移动,这个有办法解决吗?
    -------------------------------------
    我这没有你的这个问题?
      

  4.   

    白色方块问题解决了,但鼠标响应问题还是没有解决~~~难道要用HOOK吗?5555~~~~不想走到这个地步T_T