.
Anmeldung | Registrieren | Hilfe
in Suchen

Webbrowser (Tabbet ) Links im neuen Tab öffnen // ProgressBar

Letzter Beitrag 29. Mrz 2012 10:31 von eXestend. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 27. Mrz 2012 12:12

    • eXestend
    • Top 150 Mitwirkender
      Männlich
    • Registriert am 09. Aug 2011
    • Beiträge 9
    • Punkte 135

    Webbrowser (Tabbet ) Links im neuen Tab öffnen // ProgressBar

    Hi leute :)

    Ich entwickel gerade einen Client  in Visual C# 2010 (Windows Forms) und habe einen Webbrowser erstellt. Grundlage ist einmal die webkit engine also webkitbrowser.

    Da Fehlen mir leider Elemente für um diese webkitbrowser im Tabsystem zu erstellen :o - So nebenbei eventuell hat damit jemand mehr erfahrung.

    Nun zum eigentlichen Problem.

    Ich habe einen  webbrowser  ( tab System ) erstellt und habe folgende Probleme:
    1. Progress bar: Ich kann kein Event erstellen, der das ändern der Progressbar steuert. Ich habe da nur "ParentChanged" und "PreviewKeyDown"

    Aber nicht:
    BeerProgressChanged[/B], das ich den Code anwenden könnte:
    try
    
    {
    
    progressBar1.Value = Convert.ToInt32(e.CurrentProgress);
    
    progressBar1.Maximum = Convert.ToInt32(e.MaximumProgress);
    
    }
    
    catch (Exception ex)
    
    {
    
    
    
    }



    Das war das erste Problem, das zweite Problem ist, das sich Links immer nur im IE öffnen, ich aber wollen würde, das sie die Links im neuen Tab öffnen. Ich weiß aber nicht, wie ich  die Links "abfange um denen denn" zu sagen: Öffne im neuen Tab.

    Machen würde ich das denn so wollen:

     private void <img src="http://dotnet-forum.de/emoticons/emotion-22.gif" alt="Beer" />Irgendwie abfangen ?![/B] (object sender, EventArgs e)
    
            {
    
    if ( Link click )
    
                web = new WebBrowser();
    
                web.ScriptErrorsSuppressed = true;
    
                web.Dock = DockStyle.Fill;
    
                web.Visible = true;
    
                web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted);
    
    
    
                tabControl1.TabPages.Add("Tab");
    
                tabControl1.SelectTab(i);
    
                tabControl1.SelectedTab.Controls.Add(web);
    
                i += 1;
    
            }


    Ichhabe auch schon dutzende mehr oder weniger schrecklich schlechte Youtube "Tutorials" gesehen die alle "Webbrowser" erstellen mit Vor zurück und bla bla bla aber die wesentlichen Sachen wie die Progressbar, Links und Favoriten, Lesezeichen etc. werden nie behandelt.

    Auch bei Google und im OPen Code Book habe ich nichts gefunden, weil ich auch nicht ganz weiß wonach ich genau suchen soll.

    Ich hoffe jemand kann mir da nen Anstoß geben.

    LG

    achja, .NET also Windows als OS
    ---> Ich stelle mich vor <---
    ------> http://dotnet-forum.de/forums/t/3647.aspx <------
    Abgelegt unter: , , ,
    • IP-Adresse ist Registriert
  • 29. Mrz 2012 7:40 Antwort zu

    • klaus_b
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 28. Jan 2008
    • Waldkraiburg
    • Beiträge 764
    • Punkte 12.255
    • Moderator

    Webbrowser (Tabbet ) Links im neuen Tab öffnen // ProgressBar

    Hallo eXestend,

    eXestend:
    Ich weiß aber nicht, wie ich  die Links "abfange um denen denn" zu sagen: Öffne im neuen Tab.

    Wenn ich dich richtig verstehe, hast du ein BrowserControl innerhalb eines Tabs in einem TabControl am laufen. Wenn jetzt innerhalb dieses BrowserControls ein Link geklickt wird, sollte eine neue Instanz eines Tabs und innerhalb dieses neuen Tabs ein neues BrowserControl mit der Adresse des vorher geklickten Links erstellt werden. Ist das soweit richtig?

    Ich kann von hier aus nicht sehen, welche/s BrowserControl/s du verwendest.
    Das Control sollte ein Ereignis OnNavigating oder etwa OnBeginNavigating besitzen. Diese Ereignis sollte eigentlich gefeuert werden, wenn das Control die Anweisung erhält, zu einem neuen URL zu wechseln. Wenn du dieses Ereignis abonnierst, kannst du im Ereignishandler darauf entsprechend reagieren.
    Sollte dein verwendetes Control kein solches Ereignis zur Verfügung stellen, bleibt nur noch der Weg über Explorer Hooks. Damit wird ein systemweiter Ereignishandler im System registriert, der auf das Ereignis beim klicken auf einen Link reagiert. Nur leider sind da die Möglichkeiten mit .NET sehr eingeschränkt. Evtl. gäbe es einen Weg über PInvoke eine solches Ereignis aus einer DLL der WIN32 API zu wrappen.

    Servus,
    Klaus

    klaus_b@.NET
    Alles was an .NET und C# Spass macht, ... oder manchmal auch nicht.
    • IP-Adresse ist Registriert
  • 29. Mrz 2012 10:31 Antwort zu

    • eXestend
    • Top 150 Mitwirkender
      Männlich
    • Registriert am 09. Aug 2011
    • Beiträge 9
    • Punkte 135

    Webbrowser (Tabbet ) Links im neuen Tab öffnen // ProgressBar

    Hallo klaus_b,

    du hast mich in meinem Beitrag schon richtig verstanden.

    Ich kann Dir mein Programm gerne mal zukommen lassen um dir zu zeigen wie ich das gemacht habe, eventuell würde das mehr helfen.

    Ich nutze auf jedenfall ein TabControll in dem der Webbrowser läuft.
    Damit Initialisiere ich den Browser

    WebBrowser web = new WebBrowser();
    
            int i = 0;


    Am Anfang, soll gleich ein Tab da sein:

    // Neuen Tab Inizialisieren
    
            private void TabBrowserIE_Load(object sender, EventArgs e)
    
            {
    
                web = new WebBrowser();
    
                web.ScriptErrorsSuppressed = true;
    
                web.Dock = DockStyle.Fill;
    
                web.Visible = true;
    
                web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted);
    
    
    
    
    
                tabControl1.TabPages.Add("Tab");
    
                tabControl1.SelectTab(i);
    
                tabControl1.SelectedTab.Controls.Add(web);
    
                i += 1;
    
            }

    ( Sollte für alle interessant sein, die selbst Tabbed Webbrowser erstellen wollen )

    Nun habe ich das Problem, das ich nicht wirklich einen WebBrowser1 nutze, leider habe ich schon oft bemerkt, das meine Variante nicht wirklich Gewinnbringend ist, da ich weder eine progressBar rein bekomme und zusätzlich nicht die -webKit Engine einbinden kann bzw. die -webkit Engine nicht mit dem TabControl funktioniert.


    LG

    ---> Ich stelle mich vor <---
    ------> http://dotnet-forum.de/forums/t/3647.aspx <------
    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum