AutoCad with .net:如何通过单击选择项目来捕获Alt键事件

时间:2014-10-20 12:27:00

标签: .net events keyboard autocad

我正在为AutoCad开发一个插件。

在命令循环中,用户将通过单击或按窗口选择一些文本对象。

例如:text1text2text3text4text5text6text7

  1. 用户类型命令:multiselect
  2. 用户点击text1
  3. 用户按下键盘上的ALT键
  4. 用户点击text2
  5. 用户点击text3
  6. 用户通过Window
  7. 选择text4text5
  8. 用户发布ALT键
  9. 用户选择text7
  10. 按ENTER键结束multiSelect命令
  11. 通过这个命令,我想生成一个这样的列表:

    [
      {string : "text1" , groupId : 1},
      {string : "text2" , groupId : 2},
      {string : "text3" , groupId : 2},
      {string : "text4" , groupId : 2},
      {string : "text5" , groupId : 2},
      {string : "text6" , groupId : 3},
      {string : "text7" , groupId : 3},
    ]
    

    有人可以告诉我一些关于如何做到这一点的提示吗?

1 个答案:

答案 0 :(得分:0)

那么如果你可以选择text7而不按下它,ALT键会做什么?...哦,等等,我知道,它确定groupId。我认为用户体验令人困惑,你最好做一些更明确的事情,用他们之间的ENTER选择每个组,告诉用户他们选择下一组以及如何继续前进,并且在没有任何东西之后输入选择完成输入序列。考虑一下用户的直观性。

您可以使用selection filter来获取循环为Application.DocumentManager.MdiActiveDocument.Editor.GetSelection(SelectionFilter)的文本,然后根据您获得的SelectionSet构建数组。

阅读AutoCAD标签wiki以获取可以搜索更多信息的论坛。