C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■92897 / )  Re[2]: ownerのWindowハンドルを知りたい
□投稿者/ dorago (2回)-(2019/11/06(Wed) 10:19:02)
> ――あれ?
> 通常は TextBox 等を渡したからといって、Nothing にはならないような。
>
> 非 Control な IWin32Window を対象としていたり、フォームに貼る前のコントロールを
> Owner に引き渡した場合には、Nothing になりえますが…。
>
>
> Owner が Control である場合は、その Control の FindForm() メソッドの戻り値
> (正確には、SetTopLevel(True) な Control までの再帰 Parent 呼び出し)が
> フォームの Owner プロパティに渡されるようになっていたはず。

これは勘違いしていたかも知れません。済みません...


>>このownerはIWin32Windowインタフェースを実装していればよく、
>>例えばコントロールをownerにしてもいいわけですが、
> 極端な話、.NET で管理されていないウィンドウでも構いません。
> 「メモ帳」や「電卓」のウィンドウを owner とすることもできます。

ところで、今開いているメモ帳をownerとするには、どうすればよいでしょうか?
試してはいないのですが、IWin32Windowインタフェースを実装したクラスを自作し、
そのHandleプロパティが、目的とするメモ帳のウィンドウハンドルを返すようにすれば
これをownerとすることができるのでしょうか?
(極端な話、コンストラクタ以外、IWin32Windowインタフェースが指定するHandleプロパティしか
メンバを持たないクラスであっても?)
返信 編集キー/


管理者用

- Child Tree -