0

フォームにはintPtrが必要です。Control.FromHandle(control)はハンドルからコントロールを取得しますが、その逆が必要です。コントロールからハンドルを取得します。どうすればよいですか?

4

2 に答える 2

4

試す

Dim handle As IntPtr = someControl.Handle

注:これは、コントロールのハンドルが作成された後にのみ機能します。コントロールを作成してからある程度レンダリングされるまでの間に、IntPtr.Zeroが返される可能性のある時間枠があります。

于 2009-05-08T18:08:56.900 に答える
1

注:これは、コントロールのハンドルが作成された後にのみ機能します。コントロールを作成してからある程度レンダリングされるまでの間に、IntPtr.Zeroが返される可能性のある時間枠があります。

これについてはJaredParに同意しない必要があります。ハンドルがまだ作成されていない場合、HandleプロパティのgetアクセサーはCreateHandleを呼び出します(Reflectorで確認できます)。場合によっては予期しない結果が生じる可能性があるため、この点に注意することが重要です。

于 2009-05-08T18:29:59.970 に答える