UserControlにhtml divの下に描画させる
-
10-07-2019 - |
質問
System.Windows.Forms.UserControlから派生した一連のコントロールがあり、それらはブラウザーに表示されます(Internet Explorerのみ)。彼らがいるページには境界線(div)があり、コントロールを「下」に配置しますが、それらはすべてその上に描画されます。
UserControlsを「ウィンドウレス」にすること、およびVisualBasicまたはSilverLightでそれを行う方法の例であると主張するページを見てきましたが、私にとっては役に立たない(ここではC ++とC#を使用しています) )
では、アイデアはありますか?
解決
IEのネイティブ要素にdivを配置するためによく使用されていたトリックがありました。あなたがレイズしようとしているdivの下に何も入っていない透明なiframeを置きます;
<!-- windows forms garbage here -->
<iframe id="underlay" src="javascript:false" frameborder="0" style="Alpha(style=0,opacity=0)"></iframe>
<div id="overlay"></div>
これにより、オーバーレイが新しいdirectxレイヤーにプッシュされます(ブラウザーレイヤー、つまりz-indexと混同しないでください)。
編集:動作しなかった理由が見つかりました:&quot; IFRAME要素のALLOWTRANSPARENCY属性を使用する他の手法は、実際にはIFRAMEの内部ページの背景を透明にすることです。 IFRAME内のコンテンツは透明にすることができます。ただし、このモードはIFRAMEの性質を変更し、ウィンドウコントロールをブロックするという目的を果たしなくなります。&quot;
修正は、ALLOWTRANSPARENCYの代わりに透明効果にアルファフィルターを使用することです。
所属していません StackOverflow