C# - Problem mit webbrowser

Alexander12

Erfahrenes Mitglied
Hi.

Ich habe in nem Form ein WebBrowser Control.

Wenn Ich da ne Website öffne, also per Link, öffnet sich der Internet Explorer, das will Ich aber nicht. Ich möchte, dass er ein neues Form 1 öffnet und die URL des Links ja öffnet.

Hoffe ihr habt verstanden was ich meine. ;)
Wie kann Ich so was realisieren?


MfG Alexander12
 
Hi Norbert!

Hmm..

Hab mal ein Snipped rauskopiert, dass sich gut anhört:

Code:
protected void mnuFile_Popup(object sender, EventArgs e)
    {
      MenuItem miFile = MenuMain.MenuItems[0];
      miFile.MenuItems[14].Checked = AxWebBrowser.Offline;
      
      Int32 EnabledTest = Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_SUPPORTED)
          + Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_ENABLED);
      
      miFile.MenuItems[2].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB //Refresh test for Edit
        (SHDocVw.OLECMDID.OLECMDID_REFRESH));
      miFile.MenuItems[3].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_SAVE));
      miFile.MenuItems[4].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_SAVEAS));
      miFile.MenuItems[6].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_PAGESETUP));
      miFile.MenuItems[7].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_PRINT));
      miFile.MenuItems[8].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_PRINTPREVIEW));
      miFile.MenuItems[13].Enabled = EnabledTest.Equals(AxWebBrowser.QueryStatusWB
        (SHDocVw.OLECMDID.OLECMDID_PROPERTIES));
    }

Oje, Ich wollte ja eigentlich nur das er ggf. einen Link in einem neuen Fenster von meinem Browser, nicht im IE öffnet...
Das da eine neue Form geöffnet wird kann Ich da schlecht rauslesen ... :)

Kann mir da einer helfen?

MfG Alexander12
 
Alexander12 hat gesagt.:
Oje, Ich wollte ja eigentlich nur das er ggf. einen Link in einem neuen Fenster von meinem Browser, nicht im IE öffnet...
Das da eine neue Form geöffnet wird kann Ich da schlecht rauslesen ... :)

Kann mir da einer helfen?
Hi Alexander,

Ich muss ehrlich zugeben das ich noch nichts wirklich innovatives mit dem AXWebbroser gemacht hab,
nachdem ich mir aber den Artikel schon vor Jahren mal auf TheCodeProject angeschaut hatte
und für mich bis jetzt die Notwendigkeit nicht bestand das mal anzugehen.
Vor allem wie man ein TabSystem proggt. Die vorhandenen Lösungen gefallen mir so wie sie sind.

Ich hätte aber ein paar Ideen:
Also entweder Du instanzierst ein neues Objket deines Forms, welches deinen Webbrowser darstellt
und übergibst ihm im Kontruktor den Link, welcher geöffnet werden soll.
( Konstruktoren kann man auch überladen ;) )
Oder Du baust Dir das Tabsystem vom Opera nach. Also wird dann dein WebBrowser Control in den TabPages angezeigt.

Das sollte eigentlich nicht so schwer sein.

Btw. diesen Link solltest Dir mal anschauen
Component-Based Development with Visual C#

lg, cosmo
 
Alexander12 hat gesagt.:
Jetzt muss Ich nur noch verhindern, dass sich ein Fenster vom IE öffnet.
Du machst kein Process.Start sondern
Du instanzierst ein neues Objket deines Forms/Controls, welches deinen Webbrowser darstellt
und übergibst ihm im Kontruktor den Link, welcher geöffnet werden soll.
Code:
MyBrowserControl MyWebBrowser = new MyBrowserControl( sURL );
// Edit: weiss jetzt nicht genau, aber Du musst evtl das Event abfangen, wenn in dem AXWebbrowser auf einen Link geklickt wird.
Ich hab aber wie gesagt keine Ahnung davon.
 
Zurück