【发布时间】:2010-10-24 20:58:15
【问题描述】:
我需要表格的 intPtr。 Control.FromHandle(control) 给了我一个句柄的控制权,但我需要相反的——从一个控件中获取句柄。我该怎么做?
【问题讨论】:
标签: .net vb.net winforms handle intptr
我需要表格的 intPtr。 Control.FromHandle(control) 给了我一个句柄的控制权,但我需要相反的——从一个控件中获取句柄。我该怎么做?
【问题讨论】:
标签: .net vb.net winforms handle intptr
注意:这仅在控件的句柄创建后才有效。在创建控件和渲染到某种程度之间有一个时间窗口,这可能会返回 IntPtr.Zero
我不同意 JaredPar 的观点:如果句柄尚未创建,则 Handle 属性的 get 访问器调用 CreateHandle(您可以使用 Reflector 检查)。意识到这一点很重要,因为在某些情况下它可能会产生意想不到的后果
【讨论】:
试试
Dim handle As IntPtr = someControl.Handle
注意:这仅在控件的句柄创建后才有效。在创建控件和渲染到某种程度之间有一个时间窗口,可能返回 IntPtr.Zero
【讨论】: