Avatar billede justincase1089 Nybegynder
06. september 2006 - 12:38 Der er 11 kommentarer og
1 løsning

Transparant baggrund i WebBrowser

Hej

Jeg har en hjemmeside med en hvid baggrund og med et billede på i midten. Jeg vil gerne placere en WebBrowser på en WinForm der peger på denne side, men hvor baggrunden på web siden er transparent, dvs det reelt kun er billedet der bliver vist på WinFormen. Hvordan gør jeg det?

MVH
  Justin Case
Avatar billede nielle Nybegynder
06. september 2006 - 22:26 #1
Tror ikke at det kan gøres i en WebBrowser, men hvad med at loade selve billeder fra websiden og placere den i en PictureBox i stedet?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.IO;
using System.Net;
using System.Threading;

namespace e730674
{
    public partial class Form1: Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            GetImage("http://www.eksperten.dk/img/elogo.png");
        }

        private void GetImage(String imageURL)
        {
            AutoResetEvent waiter = new AutoResetEvent(false);

            WebClient wc = new WebClient();
            wc.DownloadDataCompleted += new DownloadDataCompletedEventHandler(wc_DownloadDataCompleted);

            Uri uri = new Uri(imageURL);
            wc.DownloadDataAsync(uri, waiter);
        }

        void wc_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
        {
            byte[] b = (byte[]) e.Result;

            MemoryStream ms = new MemoryStream(b);
            pictureBox1.Image = Image.FromStream(ms);
        }
    }
}
Avatar billede justincase1089 Nybegynder
07. september 2006 - 07:29 #2
Jo, men det er ikke kun billeder .... det er vilkårdlige hjemmesider hvor baggrundsfarven skal være transparent
Avatar billede nielle Nybegynder
07. september 2006 - 08:17 #3
Som sagt tvivler jeg på at det kan lade sig gøre. WebBrowser-kontrollen viser siderne som de bliver vist i MSIE, og der kan man jo ikke gøre baggrunden gennemsigtig (sådan at man kan se sin Desktop igennem browserwindiet).
Avatar billede justincase1089 Nybegynder
07. september 2006 - 08:39 #4
derfor kan det jo godt være at man kan gøre noget alligevel
Avatar billede siz23 Nybegynder
08. september 2006 - 10:18 #5
bare sæt formens tranparcy til hjemmesidens baggrundsfarve.
eks.
start nyt project, og dump en webbrowser ned på den.
på formens OnLoad event fyr disse af.
--------------------------------------------
this.TransparencyKey = Color.White;
webBrowser1.Navigate("www.google.dk");
--------------------------------------------

Håber det kan bruges
Avatar billede justincase1089 Nybegynder
08. september 2006 - 13:16 #6
Hej

Hold da op ... det er jo næsten pinlig nemt.

problemet er imidlertid, at det både er browseren og formen der bliver transparent. Det er kun browseren der skal være transparent. Jeg er ved at lave et system hvor man kan placere hjemmesider ovenpå hinanden hvor man så kan se igennem alle browserne der hvor de alle er transparente dvs har baggrundsfarven ... der hvor de alle er transparente skal man så kunne se formens farve. Jeg har på fornemmelsen, at jeg er tæt på med det siz23 skrev ... men kan du skubbe mig resten af vejen vil jeg blive meget glad :-)
Avatar billede justincase1089 Nybegynder
10. september 2006 - 17:42 #7
siz23 ... den hjælp du gav mig var MEGET anvendelig. Smid lige at svar.
Avatar billede nielle Nybegynder
10. september 2006 - 21:57 #8
Vil det sige at du har fået løst problemet?

For, så vil jeg da gerne se hvad løsningen endte med at blive. :^)
Avatar billede justincase1089 Nybegynder
11. september 2006 - 07:45 #9
Hele mit problem bestrår i at have en lang række webbrowsere som er delvis transparente, afhængig selvfølgelig af hvor meget hvidt der er på siden. Alle disse browsere skal jeg kunne flytte rundt på. Pointen her er så, at TransparentColor, som siz23 foreslår, gør formen transparent. Der er imidlertid et problem da jeg ikke kan se de andre webbrowsere igennem webbrowserne på denne måde, formentlig fordi de er i den samme form. Derfor laver jeg nu en lang række forms, en for hver browser og lader dem enkeltvis være transparente. Derudover har jeg en mainform der agerer som baggrund for dem alle, så jeg ikke bare får en desktop igennem de transparente browsere der hvor de alle er transparente.
Avatar billede nielle Nybegynder
11. september 2006 - 11:18 #10
Nå, det var derfor at du oprettede denne her:

http://www.eksperten.dk/spm/731515

:^)
Avatar billede justincase1089 Nybegynder
11. september 2006 - 11:50 #11
præcis :-)
Avatar billede justincase1089 Nybegynder
17. april 2007 - 12:47 #12
Hmm, æv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester