none
wo liegt der Fehler RRS feed

  • Frage

  • Ich möchte das wenn man auf die Textbox10 klick sich eine neue Form öffnet die eine Webbrowserkomponente hat um darin die weburl anzuzeigen die in der Textbox10 drin steht.



    surf.WebBrowser1.Navigate(urlString =TextBox10.Text);
    surf.Show();

    Aber der hat ein Problem mit der Webbrowserkomponente.


    Fehler    49    "Adressbuch_SE_2010.surf" enthält keine Definition für "WebBrowser1".   
    Fehler    50    Der Name "urlString" ist im aktuellen Kontext nicht vorhanden.  
    Fehler    51    Für das nicht statische Feld, die Methode oder die Eigenschaft "System.Windows.Forms.Control.Show()" ist ein Objektverweis erforderlich.   

    Sonntag, 1. November 2009 13:17

Antworten

  • Hallo jeanny26,

    OK, zuerst änderst du den Kontruktor in surf.cs wie folgt ab:

     

    public surf(String urlString)
    {
    InitializeComponent();
    webBrowser1.Navigate(urlString);
    }


    Dann fügst du im Ereignishandler, in dem die Form aufgerufen wird folgenden Code hinzu:

    surf neuesFenster = new surf(textBox10.Text);
    neuesFenster.Show();



    Das sollte es gewesen sein. Zur Erläuterung:
    a) Die erste Änderung bewirkt, dass die Adresse beim Erzeugen der neuen Form direkt an diese übergeben wird. Nachdem die Form fertig erstellt wurde folgt die Navigation zur übergebenen Adresse.
    b) Der zweite Codeausschnitt deklariert und instanziiert ein neues Objekt deiner Klasse "surf", welche eine Form darstellt, und übergibt die Adresse. Mit der Methode Show wird die Form dann angezeigt.

    Viele Grüße
    Jan

    Sonntag, 1. November 2009 16:19

Alle Antworten

  • Hallo jeanny26,

    wenn dies alles ist, sind in deinem Quellcodeausschnitt gleich mehrere Fehler:

    a) Du musst mit new zunächst eine Instanz der neuen Form erzeugen.
    b) Die neue Form benötigt eine Property oder besser einen Konstruktor, um den urlString an die Form zu übergeben. So wie in deinem Beispiel funktioniert es nicht. Die Navigate-Methode wird dann besser aus der zweiten Form heraus aufgerufen.
    c) Die Übergabe des Parameters an die Navigate-Methode ist falsch, es müsste so lauten: ...Navigate(TextBox10.Text);

    Ich kann dir gerne die paar Zeilen Code schreiben, allerdings weiß ich nicht, wie deine neue Form heißt, welche die WebBrowser-Komponente enthält. Wenn du uns mitteilst, wie die Form heißt, kommen wir hier schnell weiter. Ich empfehle dir auf jeden Fall entsprechende Grundlagenliteratur zu C#, da ich an den Fehlern erkennen kann, dass du gerade erst mit der Programmierung (zumindest in C#) anfängst.

    Viele Grüße
    Jan
    Sonntag, 1. November 2009 14:00
  • die form heißt surf wo die Browserkomponente enthalten ist

    Danke im vorraus
    Sonntag, 1. November 2009 14:34
  • Hallo jeanny26,

    OK, zuerst änderst du den Kontruktor in surf.cs wie folgt ab:

     

    public surf(String urlString)
    {
    InitializeComponent();
    webBrowser1.Navigate(urlString);
    }


    Dann fügst du im Ereignishandler, in dem die Form aufgerufen wird folgenden Code hinzu:

    surf neuesFenster = new surf(textBox10.Text);
    neuesFenster.Show();



    Das sollte es gewesen sein. Zur Erläuterung:
    a) Die erste Änderung bewirkt, dass die Adresse beim Erzeugen der neuen Form direkt an diese übergeben wird. Nachdem die Form fertig erstellt wurde folgt die Navigation zur übergebenen Adresse.
    b) Der zweite Codeausschnitt deklariert und instanziiert ein neues Objekt deiner Klasse "surf", welche eine Form darstellt, und übergibt die Adresse. Mit der Methode Show wird die Form dann angezeigt.

    Viele Grüße
    Jan

    Sonntag, 1. November 2009 16:19