2009-08-03 7 views
0

J'ai un tas de contrôles dérivés de System.Windows.Forms.UserControl, qui sont ensuite affichés dans un navigateur (Internet Explorer uniquement). La page dans laquelle ils se trouvent a une bordure (une div) que je veux que les contrôles passent sous, mais ils dessinent tous dessus. J'ai vu des pages affirmant que ce que je dois faire est de rendre les UserControls "sans fenêtre", et des exemples de la façon de le faire dans VisualBasic ou dans SilverLight, mais rien d'utile pour moi (j'utilise C++ et C# ici)Obtenir UserControl pour dessiner sous html div

Alors, des idées?

Répondre

0

Il y avait une astuce qui était courante pour placer divs sur des éléments natifs dans IE. Vous mettez un iframe transparent avec rien sous le div que vous essayez d'élever; Cela aurait pour effet de pousser la superposition dans une nouvelle couche directex (à ne pas confondre avec la couche du navigateur, c'est-à-dire l'index z).

EDIT: trouvé pourquoi il ne fonctionne pas: « L'autre technique, qui utilise l'attribut allowtransparency de l'élément IFRAME, se rapporte en fait à rendre l'arrière-plan de la page intérieure de la transparence IFRAME, de sorte que tout contenu à l'intérieur du IFRAME peut Cependant, ce mode change la nature de l'IFRAME et ne sert plus à bloquer les contrôles fenêtrés. "

La solution consiste à utiliser un filtre alpha pour l'effet de transparence au lieu de ALLOWTRANSPARENCY.

+0

Ne fonctionne pas désolé. Je pourrais faire quelque chose de visqueux bien sûr, donc je vais continuer à regarder, mais ressemble à un non. –

+0

J'ai peut-être manqué quelque chose. Je pense que vous devez vous assurer que l'iframe couvre la même zone que la div. Cette page a plus de détails: http://www.hiveminds.co.uk/?p=3225&cpage=1 – SpliFF

+0

Encore ne peut pas le faire au travail désolé –

Questions connexes