Benutzer mit den meisten Antworten
wo liegt der Fehler

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.
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- Bearbeitet Jan Tittel Sonntag, 1. November 2009 16:20 Codeformatierung
- Als Antwort vorgeschlagen Thorsten Dörfler Montag, 2. November 2009 07:27
- Bearbeitet Robert Breitenhofer Montag, 2. November 2009 08:20 Code Formatierung
- Als Antwort markiert Robert Breitenhofer Montag, 2. November 2009 08:20
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 -
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- Bearbeitet Jan Tittel Sonntag, 1. November 2009 16:20 Codeformatierung
- Als Antwort vorgeschlagen Thorsten Dörfler Montag, 2. November 2009 07:27
- Bearbeitet Robert Breitenhofer Montag, 2. November 2009 08:20 Code Formatierung
- Als Antwort markiert Robert Breitenhofer Montag, 2. November 2009 08:20