none
Fenster öffnen RRS feed

  • Frage

  •  

    Also wie kann ich einer datei sagen:

    - dass sie sich selbst schließen und am alten Status(vor dem schließen) wieder öffnen soll/wie bei IE aktualisiert (für nen Webbrowser)

    -dass sie sich ein 2. mal öffnet(neues fenster) mit dar website vom 1. fenster

    -dass die aktuelle URL in einem anderen Webbrowser geöffnet wirt(standartbrowser)

    danke

     

    Dienstag, 1. Januar 2008 15:50

Antworten

  •  

    Erst mal: Warum formatierst du das so grässlich? Da kriegt man ja ein Augenleiden bis man den Text gelesen hat.

    dass sie sich selbst schließen und am alten Status(vor dem schließen) wieder öffnen soll/wie bei IE aktualisiert (für nen Webbrowser

    Aktualisieren: Webbrowser.Reload();

    Das mit dem schließen und wieder öffenen am Alten status hab ich nicht kapiert. Vor allem nicht unter welchen umständen das passieren soll, was für die beantwortung sehr wichitg ist. Generell dürfte es langen die URL(s) in eine XML / Textdatei zu schreiben, dann das Form zu schließen. Wenn du die Seiten wieder aufrufen willst einfach Datei wieder einlesen und passende Webbrowserkomponenten erstellen, die dann ein Navigate zu dieser URL ausführen

     

    -dass sie sich ein 2. mal öffnet(neues fenster) mit dar website vom 1. fenster

    Nehmen wir an du hast eine Formularklasse definiert, die "Browser" heißt. In dieser Klasse ist ein Webbrowsersteuerelement namens "Webbrowser". Dein Aktuelles Formular ("this") ist ebenfalls vom typ Browser.

     

    Quellcodeabschnitt

    internal void NewBrowser()

    {

    Browser NeuerBrowser = new Browser(); //Konstruktor

    Browser.show(); //Zeigt das Form an

    Browser.Webbrowser.Navigate(this.Webbrowser.URL); //Läst den neuen Webbrowser die aktuelle URL anzeigen

    }

     

     

    Zu der Sache mit dem Standardwebbrwoser. Ich würde das vllt. mal mit einem System.Diagnostic.Process probieren. Den kann man auch so erstellen, dass er nicht nur anwendungen öffnet, sondern auch Dateien (dazu wird die Standard Anwendung gestartet). Weil für Webseiten die Standardanwendung der Standardbrowser genommen werden müsste könnte (ich habe es nicht geprüft) das funktionieren.

    Donnerstag, 3. Januar 2008 12:07
  • Bei für das Keyupevent und einige ( nicht alle!) KeyEvents geht das so:

     

    If e.KeyCode = Keys.Enter Then

        'lese-und-rufe-url-aus-txt-datei

    End if

     

    Das mit der Fortschrittsanzeige muss wieder über ein Event gehen. Das WebbrowserControl hat ein ProgressChanged Event.

     

    ''' <summary>

    ''' e.CurrentProgress gibt die Zahl der Bytes an die schon gedownloadet wurden. e.MaximumProgress zeigt die Gesamtmenge an zuladenen Bytes.

    ''' </summary>

    ''' <param name="sender"></param>

    ''' <param name="e"></param>

    ''' <remarks></remarks>

    Private Sub WebBrowser_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser.ProgressChanged

    If e.CurrentProgress < e.MaximumProgress Then

    pbStatus.Value = e.CurrentProgress / e.MaximumProgress * 100 'Statusbar anpassen

    Else

    pbStatus.Value = pbStatus.Minimum 'Statusbar anpassen

    End If

    End Sub

     

    Was ich dir jetzt mal empfehlen würde, weil du elementare Fragen hast die auch mit der generellen Funktionsweise des System.Windows.Forms.Webbrowser- Controls zusammenhängen wäre einfach mal in der MSDN Libary nachzuschauen, wie das Control aufgebaut ist.  Da sind auch Beispiele dabei. Auch wichtig sich anzuschauen: Was hat das für Properties? Was für Funktionen? Welche Methoden führt es aus?

    Wenn du das dir mal durch liest, dann wird dir vieles klar  ohne, dass du hier nachfragen musst, was immer auch einige Zeit dauerd bis die Frage beantwortet ist. Tu dir den gefallen und schau dir das in der MSDN Libary an, dann klären sich viele mögliche weitere Fragen schon im Voraus. Das ist auch für andere Controls und Klassen des .net Frameworks hilfreich und so machesmal findet man da auch Sachen und Ideen an die man vorher gar nicht dachte. Smile

     

     

    Montag, 14. Januar 2008 16:35
  • Alle Antworten

    •  

      Erst mal: Warum formatierst du das so grässlich? Da kriegt man ja ein Augenleiden bis man den Text gelesen hat.

      dass sie sich selbst schließen und am alten Status(vor dem schließen) wieder öffnen soll/wie bei IE aktualisiert (für nen Webbrowser

      Aktualisieren: Webbrowser.Reload();

      Das mit dem schließen und wieder öffenen am Alten status hab ich nicht kapiert. Vor allem nicht unter welchen umständen das passieren soll, was für die beantwortung sehr wichitg ist. Generell dürfte es langen die URL(s) in eine XML / Textdatei zu schreiben, dann das Form zu schließen. Wenn du die Seiten wieder aufrufen willst einfach Datei wieder einlesen und passende Webbrowserkomponenten erstellen, die dann ein Navigate zu dieser URL ausführen

       

      -dass sie sich ein 2. mal öffnet(neues fenster) mit dar website vom 1. fenster

      Nehmen wir an du hast eine Formularklasse definiert, die "Browser" heißt. In dieser Klasse ist ein Webbrowsersteuerelement namens "Webbrowser". Dein Aktuelles Formular ("this") ist ebenfalls vom typ Browser.

       

      Quellcodeabschnitt

      internal void NewBrowser()

      {

      Browser NeuerBrowser = new Browser(); //Konstruktor

      Browser.show(); //Zeigt das Form an

      Browser.Webbrowser.Navigate(this.Webbrowser.URL); //Läst den neuen Webbrowser die aktuelle URL anzeigen

      }

       

       

      Zu der Sache mit dem Standardwebbrwoser. Ich würde das vllt. mal mit einem System.Diagnostic.Process probieren. Den kann man auch so erstellen, dass er nicht nur anwendungen öffnet, sondern auch Dateien (dazu wird die Standard Anwendung gestartet). Weil für Webseiten die Standardanwendung der Standardbrowser genommen werden müsste könnte (ich habe es nicht geprüft) das funktionieren.

      Donnerstag, 3. Januar 2008 12:07
  •  

    Und Wie kann man das machen, dass man ne ComboBox

    als URL-Fenster Benutzt.

    Ohne deklinationen.

    Also nen fenster für z.B.: http://www.google.de

    Wo man das eingeben kann.

     

    Womit und wie kann ich das machen, dass die Ladeurl eingegeben wird???

    Also oben steht z.B.: http://forums.microsoft.com

     

    Und unten steht was ganz anderes.

    Wie geht das???

    Sonntag, 13. Januar 2008 16:12
  • Und Wie kann man das machen, dass man ne ComboBox

    als URL-Fenster Benutzt.

    Ohne deklinationen.

    Also nen fenster für z.B.: http://www.google.de

    Wo man das eingeben kann.

    Was meinst du denn da jetzt genau? Wie soll eine ComboBox = Contol ein Fenster sein?

    Willst du einefach eine Leiste wie bei Internet Explorer, Firefox und Co. bei der du die URL eintippen kannst?

    Wenn ja dann erstelle einfach ein ToolStrip (-> Symbolleiste) und füge dort eine ToolstripCombobox ein. Da musst du eben das KeyUp Ereignis abfangen auf die Entertaste überprüfen und wenn sie gedrückt ist die URL = Text Property der Combobox an das WebbrowserControl senden.

    Für das WebbrowserControl fängst du das DocumentCompleted Ereignis ab und dann müsst in den EventArgs (-> e as System.Windows.Forms.WebbrowserDocumentCompletedEventArgs) die URL abrufen. Diese URL wird dann der Combobox als Texteigenschaft zugewiesen.



    Und unten steht was ganz anderes.

    Wie geht das???

    Also das habe ich nun endgültig nicht mehr im Ansatzverstanden. Du musst schon genau beschreiben was dein problem ist, weil rumraten ist nicht sehr effizient.

    Sonntag, 13. Januar 2008 21:19
  •  

             Und unten steht was ganz anderes.

             Wie geht das???

     

     

    Also das ist nicht mehr wichtig...

    Ich meinte eigentlich die Combobox von allgemeine steuerelemente

    Was ist der quellcode für :

    - Das Reagieren auf enter?

     

    - den ladebalken beim laden der Websites links unten?

     

    Also ich meine jezt von Private Sub bis End Sub

     

    geht das so in etwa ganz grob von der idee, was ich vorhabe???

     

    Quellcodeabschnitt

    If Dieunddie-taste-gedrückt then

       speichere-text-aus-box-in-txt-datei

    end if

     

     

     

    Quellcodeabschnitt

    If Dieunddie-taste-gedrückt then

       lese-und-rufe-url-aus-txt-datei

    end If

     

     

     

     

     

     

    Montag, 14. Januar 2008 15:15
  • Bei für das Keyupevent und einige ( nicht alle!) KeyEvents geht das so:

     

    If e.KeyCode = Keys.Enter Then

        'lese-und-rufe-url-aus-txt-datei

    End if

     

    Das mit der Fortschrittsanzeige muss wieder über ein Event gehen. Das WebbrowserControl hat ein ProgressChanged Event.

     

    ''' <summary>

    ''' e.CurrentProgress gibt die Zahl der Bytes an die schon gedownloadet wurden. e.MaximumProgress zeigt die Gesamtmenge an zuladenen Bytes.

    ''' </summary>

    ''' <param name="sender"></param>

    ''' <param name="e"></param>

    ''' <remarks></remarks>

    Private Sub WebBrowser_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser.ProgressChanged

    If e.CurrentProgress < e.MaximumProgress Then

    pbStatus.Value = e.CurrentProgress / e.MaximumProgress * 100 'Statusbar anpassen

    Else

    pbStatus.Value = pbStatus.Minimum 'Statusbar anpassen

    End If

    End Sub

     

    Was ich dir jetzt mal empfehlen würde, weil du elementare Fragen hast die auch mit der generellen Funktionsweise des System.Windows.Forms.Webbrowser- Controls zusammenhängen wäre einfach mal in der MSDN Libary nachzuschauen, wie das Control aufgebaut ist.  Da sind auch Beispiele dabei. Auch wichtig sich anzuschauen: Was hat das für Properties? Was für Funktionen? Welche Methoden führt es aus?

    Wenn du das dir mal durch liest, dann wird dir vieles klar  ohne, dass du hier nachfragen musst, was immer auch einige Zeit dauerd bis die Frage beantwortet ist. Tu dir den gefallen und schau dir das in der MSDN Libary an, dann klären sich viele mögliche weitere Fragen schon im Voraus. Das ist auch für andere Controls und Klassen des .net Frameworks hilfreich und so machesmal findet man da auch Sachen und Ideen an die man vorher gar nicht dachte. Smile

     

     

    Montag, 14. Januar 2008 16:35
  •  S_A_S Schrieb:

    Quellcodeabschnitt

    Private Sub WebBrowser_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser.ProgressChanged

    If e.CurrentProgress < e.MaximumProgress Then

    pbStatus.Value = e.CurrentProgress / e.MaximumProgress * 100 'Statusbar anpassen

    Else

    pbStatus.Value = pbStatus.Minimum 'Statusbar anpassen

    End If

    End Sub

     

     

    1. Da sagt mir das Programm, dass pbStatus nicht dekliniert sei. Wie kann man deklinieren.

    2. Ich hab in der Liberary nichts gefunden, was mir weiterhilft...

    Montag, 14. Januar 2008 20:03
  • E: Sorrx PC hat gespinnt

    Montag, 14. Januar 2008 20:03
  • Also das du in der MSDN Lib nichts gefunden hast kann NICHT sein. Das Control ist sehr gut dokumentiert.
     Pbstatus ist einfach eine von dir erstelllte Progressbar bzw. ToolstripProgressbar.
    Montag, 14. Januar 2008 21:03
  •  

    Ich hab s jetzt immer noch nicht geschaft, nur per savedialog:

    Wie heißt der code, um Den Text von Urlbar (Combobox) als neue Url im webbrowser zu öffnen.meine Codes macht immer fehler...

    ich versuch es so:

    WebBrowser.Url = Urlbar.text

     

     

     

    so in der Art versuche ich das. der sagt immer, es fehlt eine eigenschaft...
    Samstag, 26. Januar 2008 16:58
  • Ich hab es dir doch schon gesagt, dass du dich mal mit der MSDN Lib aus einandersetzen sollst. Das hast du offensichtlich nicht gemacht. Außerdem hättest du dann feststellen müssen, dass man dafür die Navigate Methode nimmt. Ich lege es dir jetzt noch mal ans herz das zu lesen. Außerdem ist die URL Property vom Typ System.Uri und nicht string

    http://msdn2.microsoft.com/en-us/library/4c99xk9c(VS.80).aspx

    http://msdn2.microsoft.com/en-us/library/5d67hf8a(VS.80).aspx
    Samstag, 26. Januar 2008 18:12