※疲れ切って書いてるので、ソースコードは適当です
まぁ、俺のやってることも変といえば変なんたけど。
まぁ、愚痴なので適当に読んで頂戴!
WebKit.NETをつかってるんだけど、その上にDataGridのせるわけですよ。
この時点でやってることはちょっと変かもしれない。
今まではフォームにWebkit.NETとDataGridViewを貼っつけて、重ねて動いてた(よくかんがえれば、兄弟で重ねてるから良くない。)けど、問題が出た。
で、WebKit.NETの子としてDataGridViewを存在させようとした。
普通なら
webkit.Controls.Add(dgv);
みたいな感じでやるんだけど、
SetParent(webkitcore.webBrowserViewHdndle,dgv.Handle); dgv.Parent = webkit;
みたいに、WinAPI使うわけです。
で、ここで忘れてはいけないのはParentの設定。
SetParent()で親コントロールを設定したので安心したら大ハマり。
よくよくかんがえれば、Parentプロパティがnullになるので、.Net的に親子関係わからなくなる。
Windows的には明確なんだけどね。
この辺、Spy++使って親子関係確認してたので、.Netの親子関係を完全に見落としてた。
まぁ、そんなこんなで、アンマネージド使うと.Netの便利機能は便利じゃなくなるし、訳の分からないバグ作り込んじゃうから気をつけようねって結論。
.NETはこれだからあまり好きじゃない…