明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1429|回复: 4

C#如何在CAD中实现“按下ESC”取消操作?

[复制链接]
发表于 2015-1-10 21:53:01 | 显示全部楼层 |阅读模式
本帖最后由 Real_King 于 2015-1-15 16:11 编辑

.NET下
所需要实现的目标,简化总结如下:
建立一个面板,有button1,button2两个按钮,button1按钮按下时,进行一个while循环的GetEntity操作,需要在button2被按下时,实现在键盘上按ESC *取消* button1的获取实体操作。有的朋友会说,直接按ESC不就成了吗?不行,因为上述是我简化叙述的步骤,实际情况没这么简单,ESC键会常常忘了按,容易产生getdit 3的内部错误。。。我觉得是因为没取消button1的操作引起的,故希望能通过C#“模拟”在CAD中按ESC键,论坛了搜了很多这方面帖子,但收获不大,一说使用Sendkeys,但我使用后没有作用,貌似是“send”到了面板却没“send”到CAD,所以不起作用。向各位大大求解,C#如何在CAD中实现“按下ESC”取消操作?
发表于 2015-1-14 08:56:18 | 显示全部楼层
ActiveDocument.SendCommand(Chr(27))
发表于 2015-1-14 11:13:32 | 显示全部楼层
Dim rb As ResultBuffer = New ResultBuffer
                rb.Add(New TypedValue(ResBufCode.String, "_PEDIT"))
                rb.Add(New TypedValue(ResBufCode.ObjectId, pl.ObjectId))
                rb.Add(New TypedValue(ResBufCode.String, "_J"))
                rb.Add(New TypedValue(ResBufCode.PickSet, sSet))
              ''  rb.Add(“ESC”或者“回车”) ''------这步不知道怎么写
最后一步我想添加一个ESC键或者回车键,如何实现,有高手知道吗?
 楼主| 发表于 2015-1-15 11:50:38 | 显示全部楼层
guohq 发表于 2015-1-14 08:56
ActiveDocument.SendCommand(Chr(27))

请问在内嵌.DLL中如何实现呢?
 楼主| 发表于 2015-1-15 16:13:35 | 显示全部楼层
guohq 发表于 2015-1-14 08:56
ActiveDocument.SendCommand(Chr(27))

.NET环境下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 12:38 , Processed in 0.157040 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表