Frage

Ich habe eine Reihe von Kontrollen von System.Windows.Forms.UserControl abgeleitet, die dann in einem Browser (nur Internet Explorer) angezeigt werden. Die Seite sind sie in eine Umrandung (a div), dass ich die Kontrollen will ‚unter‘ gehen, aber sie alle ziehen an der Spitze.

Ich habe Seiten gesehen behaupten, dass das, was ich tun muß, ist die Benutzersteuerelemente ‚fensterlos‘ zu machen, und Beispiele dafür, wie es in Visualbasic oder in Silverlight zu tun, aber nichts nützlich für mich (ich bin mit C ++ und C # hier )

Also, irgendwelche Ideen?

War es hilfreich?

Lösung

Es war ein Trick, der für die Umsetzung divs über nativen Elemente in IE gemeinsam verwendet werden. Sie stellen eine transparente iframe mit nichts in ihm unter dem div zu erhöhen Sie versuchen;

<!-- windows forms garbage here -->

<iframe id="underlay" src="javascript:false" frameborder="0" style="Alpha(style=0,opacity=0)"></iframe>
<div id="overlay"></div>

Dieses Overlay in eine neue directx Schicht übernehmen würde (nicht mit Browser-Schicht, dh z-index verwechselt werden).

EDIT: gefunden, warum es nicht funktioniert hat: „Die andere Technik, die das IFRAME Elements allowtransparency Attribut verwendet, bezieht sich tatsächlich um das Innere Seite Hintergrund der IFRAME transparent zu machen, so dass Inhalte innerhalb des IFRAME kann Transparenz haben. Allerdings In diesem Modus ändert sich die Art des IFRAME und es dient nicht mehr unser Ziel für Ausblocken fenster~~POS=TRUNC . "

Das Update ist ein Alpha-Filter für die Transparenz-Effekt statt allowtransparency zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top