注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

AutoCAD中的事件处理(三)  

2010-12-12 10:12:05|  分类: ObjectARX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

处理Application事件

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

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

事件

说明

BeginCustomizationMode

AutoCAD进入自定义模式前触发

BeginDoubleClick

双击鼠标后触发

BeginQuit

AutoCAD准备退出前触发

DisplayingCustomizeDialog

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

DisplayingOptionDialog

在选项对话框被显示前触发

EndCustomizationMode

AutoCAD退出自定义模式后触发

EnterModal

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

Idle

当程序空闲的时候触发

LeaveModal

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

QuitAborted

当放弃退出程序时触发

QuitWillStart

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

SystemVariableChanged

系统变量被改变后触发

SystemVariableChanging

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

下面是一个例子:

[CommandMethod("reg")]

public void reg()

{

    Application.BeginQuit+=new EventHandler(Application_BeginQuit);

}

public void Application_BeginQuit(object sender, EventArgs e)

{

    Application.ShowAlertDialog("你要退出系统!");

}

执行reg命令后,将会注册一个事件,当AutoCAD准备退出系统是,就会执行Application_BeginQuit方法,弹出一个对话框,虽然确定之后还是会退出系统,这似乎并不能改变关闭程序的作用,这里做一点解释。Application_BeginQuit的第二个e的类型为EventArgs,这是事件参数的基本类型,在AutoCAD1006中似乎没有和BeginQuit事件专门对应的事件参数类,所以使用的是C#.NET中的基本类型,据说是对托管程序封装的不完整吧,在2010等版本中有对应的事件类,可以使用e.Veto();将该事件抛弃。

  评论这张
 
阅读(1268)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016