簡體   English   中英

您如何在VB.Net 3.0中獲得控件的句柄?

[英]How Do You Get the Handle of a Control in VB.Net 3.0?

我需要將控件的句柄作為IntPtr傳遞給vb.Net 3.0中的屏幕捕獲類。 嘗試過此操作,但獲得了無效的句柄異常。

Dim hwnd As IntPtr = Runtime.InteropServices.GCHandle.Alloc(CanvasMap)

任何幫助將不勝感激。

謝謝

沒有VB.Net的3.0版本。 您是指VS2008附帶的VB.Net版本嗎? 如果是這樣,那實際上就是VB.Net版本9.0。 從VB6切換時,他們沒有重置版本號,只是不斷增加。

這是WinForms項目嗎? 如果是這樣,您可以使用CanvasMap.Handle來訪問控件。 請注意,此屬性在實際顯示之前是無效的,但是對於大多數情況而言都是如此。

編輯 OP提到這是WPF應用程序

我不確定您是否可以對WPF應用程序中的任何控件執行此操作。 可以使用WPF( link )中的WindowInteropHelper獲取Window實例的句柄。 但這不適用於正常的Control實例。

為什么需要把手? 具有包含窗口的句柄是否可行?

ctrlSomeControl.Handle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM