几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   【转帖】[讨论]vb.net的事件处理 (http://www.dimcax.com/hust/showthread.php?t=9211)

yang686526 2009-04-20 05:04 PM

【转帖】[讨论]vb.net的事件处理
 
[讨论]vb.net的事件处理
www.dimcax.com
[讨论]vb.net的事件处理
原理,在vba的窗体激活事件中改变users系统变量,vb.net接收该事件将文档级事件处理激活到当前文档
总觉得不太妥当,有好点的办法么?
vb.net - module mtlscad代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28private withevents pacadapp as acadapplication = application.acadapplication
private withevents pacaddoc as acaddocument = pacadapp.activedocument
private sub pacadapp_sysvarchanged(byval sysvarname as string, byval newval as object) handles pacadapp.sysvarchanged
if sysvarname.toupper = "*users5" then pacaddoc = pacadapp.activedocument
end sub
private sub pacaddoc_begindoubleclick(byval pickpoint as object) handles pacaddoc.begindoubleclick
dim ss as acadselectionset
ss = pacaddoc.pickfirstselectionset
if ss.count = 0 then
exit sub
elseif ss.count = 1 then
select case ss.item(0).entityname
case "acdbblockreference"
if ss.item(0).hasattributes then
pacaddoc.sendcommand("_.eattedit" & vbcr & vbcr & vbcr)
end if
case "acdbtext", "acdbmtext"
pacaddoc.sendcommand("_.ddedit" & vbcr & vbcr)
case else
pacaddoc.sendcommand("_.properties" & vbcr)
end select
else
pacaddoc.sendcommand("_.properties" & vbcr)
end if
end sub
vba - thisdrawing代码
private sub acaddocument_activate()
dim puser as string
puser = thisdrawing.getvariable("users5")
thisdrawing.setvariable "users5", str(now)
thisdrawing.setvariable "users5", puser
end sub


所有的时间均为北京时间。 现在的时间是 03:33 AM.