91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET中回調函數如何使用

發布時間:2021-07-14 14:38:15 來源:億速云 閱讀:638 作者:Leah 欄目:編程語言

VB.NET中回調函數如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET回調函數了,這里我發表一下個人理解,和大家討論討論。創建數據庫事件處理函數(VB.NET回調函數)

無論什么時候一個對象被打開并要被修改時,數據庫事件處理函數會被調用。當然,如果這時我們監視的命令不是活動的,我們就應該跳過任何被這個VB.NET回調函數調用的內容。

If bEditCommand = False Then
Return
End If

同樣地,如果我們監視的命令已經結束,而ObjectOpenedForModify事件被另一個VB.NET回調函數再次觸發的話,而這時有對象被修改時,我們要阻止所有由這個VB.NET回調函數執行的動作。

If bDoRepositioning = True Then
Return
End If

這個VB.NET回調函數剩余部分的代碼用來驗證我們是否正在處理EMPLOYEE塊索引。如果是的話,我們就獲取它的ObjectID和位置(三維點)。下面的代碼可以被粘貼到這個事件處理函數函數。

Public Sub objOpenedForMod(ByVal o As Object, ByVal e As ObjectEventArgs)  If bEditCommand = False Then  Return  End If  If bDoRepositioning = True Then  Return  End If  Dim objId As ObjectId  objId = e.DBObject.ObjectId  Dim trans As Transaction  Dim bt As BlockTable  Dim db As Database  db = HostApplicationServices.WorkingDatabase  trans = db.TransactionManager.StartTransaction()  Try  'Use it to open the current object!  Dim ent As Entity = trans.GetObject(objId, OpenMode.ForRead, False)  If TypeOf ent Is BlockReference Then 'We use .NET's RTTI to establish type.  Dim br As BlockReference = CType(ent, BlockReference)  'Test whether it is an employee block  'open its extension dictionary  If br.ExtensionDictionary().IsValid Then  Dim brExtDict As DBDictionary = trans.GetObject(br.ExtensionDictionary(), OpenMode.ForRead)  If brExtDict.GetAt("EmployeeData").IsValid Then  'successfully got "EmployeeData" so br is employee block ref  'Store the objectID and the position  changedObjects.Add(objId)  employeePositions.Add(br.Position)  'Get the attribute references,if any  Dim atts As AttributeCollection  atts = br.AttributeCollection  If atts.Count > 0 Then  Dim attId As ObjectId  For Each attId In atts  Dim att As AttributeReference  att = trans.GetObject(attId, OpenMode.ForRead, False)  changedObjects.Add(attId)  employeePositions.Add(att.Position)  Next  End If  End If  End If  End If  trans.Commit()  Finally  trans.Dispose()  End Try  End Sub

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善盟| 拜泉县| 富宁县| 冕宁县| 武功县| 渭源县| 宜宾县| 松滋市| 锡林郭勒盟| 米林县| 德州市| 保德县| 工布江达县| 南昌县| 环江| 哈尔滨市| 沧源| 宝清县| 天柱县| 博客| 吉林省| 松溪县| 宜良县| 施甸县| 连南| 彭水| 洛南县| 温泉县| 康乐县| 德钦县| 德格县| 江安县| 镇江市| 东乡| 松潘县| 洛宁县| 南澳县| 慈溪市| 云南省| 永新县| 文化|