乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 13|回复: 0

[讨论]VB.Net的事件处理

[复制链接]

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-22 09:57:00 | 显示全部楼层 |阅读模式
原理,在VBA的窗体激活事件中改变USERS系统变量,VB.Net接收该事件将文档级事件处理激活到当前文档
总觉得不太妥当,有好点的办法么?
VB.Net - Module mTlsCad代码
  1. Private WithEvents pACadApp As AcadApplication = Application.AcadApplication
  2. Private WithEvents pACadDoc As AcadDocument = pACadApp.ActiveDocument
  3. Private Sub pACadApp_SysVarChanged(ByVal SysvarName As String, ByVal newVal As Object) Handles pACadApp.SysVarChanged
  4. If SysvarName.ToUpper = "*USERS5" Then pACadDoc = pACadApp.ActiveDocument
  5. End SubPrivate Sub pACadDoc_BeginDoubleClick(ByVal PickPoint As Object) Handles pACadDoc.BeginDoubleClick
  6. Dim ss As AcadSelectionSet
  7. ss = pACadDoc.PickfirstSelectionSet
  8. If ss.Count = 0 Then
  9. Exit Sub
  10. ElseIf ss.Count = 1 Then
  11. Select Case ss.Item(0).EntityName
  12. Case "AcDbBlockReference"
  13. If ss.Item(0).HasAttributes Then
  14. pACadDoc.SendCommand("_.eattedit" & vbCr & vbCr & vbCr)
  15. End If
  16. Case "AcDbText", "AcDbMText"
  17. pACadDoc.SendCommand("_.ddedit" & vbCr & vbCr)
  18. Case Else
  19. pACadDoc.SendCommand("_.properties" & vbCr)
  20. End Select
  21. Else
  22. pACadDoc.SendCommand("_.properties" & vbCr)
  23. End IfEnd Sub
VBA - ThisDrawing代码
  1. Private Sub AcadDocument_Activate()
  2. Dim pUser As String
  3. pUser = ThisDrawing.GetVariable("USERS5")
  4. ThisDrawing.SetVariable "USERS5", str(Now)
  5. ThisDrawing.SetVariable "USERS5", pUser
  6. End Sub
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 00:03 , Processed in 0.302046 second(s), 54 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表