EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 959|回复: 0
打印 上一主题 下一主题

[事件] AutoCAD中的事件处理(三)

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12406

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 14:52:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
处理Application事件

Application代表了AutoCAD的程序窗口,因此这类事件主要针对AutoCAD该程序,这类事件除非AutoCAD关系或者显式的注销,否则将一直处于注册状态。

下面是一些常见的事件及触发事件的说明

事件
说明

BeginCustomizationMode
AutoCAD进入自定义模式前触发

BeginDoubleClick
双击鼠标后触发

BeginQuit
AutoCAD准备退出前触发

DisplayingCustomizeDialog
在自定义对话框显示前触发

DisplayingOptionDialog< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-comundefinedfficeundefinedffice" />
在选项对话框被显示前触发

转自:http://379910987.blog.163.com
EndCustomizationMode
当AutoCAD退出自定义模式后触发

EnterModal
在一个模式对话框被打开之前触发

Idle
当程序空闲的时候触发

LeaveModal
当一个有模式对话框被关闭之后触发

QuitAborted
当放弃退出程序时触发

QuitWillStart
当BeginQuit被触发后并在准备关闭程序前触发

SystemVariableChanged
系统变量被改变后触发

SystemVariableChanging
正试图改变系统变量前触发


下面是一个例子:
  1. [CommandMethod("reg")]
  2. public void reg()
  3. {
  4.     Application.BeginQuit+=new EventHandler(Application_BeginQuit);

  5. }
  6. public void Application_BeginQuit(object sender, EventArgs e)
  7. {
  8.     Application.ShowAlertDialog("你要退出系统!");
  9. }
复制代码
执行reg命令后,将会注册一个事件,当AutoCAD准备退出系统是,就会执行Application_BeginQuit方法,弹出一个对话框,虽然确定之后还是会退出系统,这似乎并不能改变关闭程序的作用,这里做一点解释。Application_BeginQuit的第二个e的类型为EventArgs,这是事件参数的基本类型,在AutoCAD1006中似乎没有和BeginQuit事件专门对应的事件参数类,所以使用的是C#.NET中的基本类型,据说是对托管程序封装的不完整吧,在2010等版本中有对应的事件类,可以使用e.Veto();将该事件抛弃。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-27 16:22

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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