|
SHADOWBEAST
|
| Titel: Webbrowser C# |
09.12.2009 10:25 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Hi Leute! Ich habe ein Programm (Windows Forms Anwendung - C#) mit drei Komponenten:
1. TextBox (Name: adresse) 2. Button (Name: start) 3. WebBrowser Komponente (Name: browser)
Jetzt soll bei einem Klick auf dem Button, die Eingabe von der Textbox, in die Browser Komponente als URL fließen und angezeigt werden.
Wie gehts das? Wie kann ich der Browser Komponente was zuweisen?
________________________________________ MfG. Maximilian
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
10.12.2009 00:53 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
1 Mitglied findet diesen Beitrag gut
|
Du schreibst einfach beim Klick vom Button:
Zitat: browser.Url = new Uri(adresse.Text); Aber Achtung. Die Url muss richtig sein. also mit http://. Sonst schmeißt er nen Fehler.
mfg
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
15.12.2009 18:06 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Danke mal das geht super wenn ich schreibe:
Zitat: browser.Url = new Uri("http://www.google.de/");
Ich möchte aber das es von der Textbox kommt, das geht aber nicht. Wenn ich nämlich schreibe:
Zitat: browser.Url = new Uri("textBox1);
Dann hagelt es Unmengen von Fehler. Was heißt das? Was kann ich dagegen tun?
Lg. Maximilian
________________________________________ MfG. Maximilian
|
 |
|
| |
|
L3oop
|
| Titel: Webbrowser C# |
15.12.2009 18:12 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
browser.Url = new Uri("textBox1);
Ich kenne mich zwar weiter nicht mit C# aus, aber könnte es eventuell daran liegen, dass du das Anführungszeichen nicht geschlossen hast? Braucht man da überhaupt ein Anführungszeichen, dann wird es doch nur als einfacher String erkannt und nicht als Wert der Textbox, oder?
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
15.12.2009 18:17 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
|
Na du musst nur in meinem Code das "adresse" durch den Namen deiner textBox ersetzten. Heißt dann also:
Zitat: browser.Url = new Uri(textBox1.Text); Anführungszeichen darfst keine angeben, du willst ja keinen neuen String initialisieren; sondern den hast ja schon im textBox1.Text. edit: Und geöffnete, aber nicht geschlossene Anführungszeichen sind natürlich sowieso ein Fehler.
mfg
[Zuletzt bearbeitet: 15.12.2009 18:18]
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
15.12.2009 18:26 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Das hab ich geschrieben:
Zitat: browser.Url = new Uri(textBox1);
(Das war grad ein Tippfehler SRY)
________________________________________ MfG. Maximilian
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
15.12.2009 18:33 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
|
? Wir reden aneinander vorbei. Wenn du den Text aus einer textBox1 als URL willst heißt die entsprechende Zeile im Code:
Zitat: browser.Url = new Uri(textBox1.Text);
mfg
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
15.12.2009 19:40 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
browser.Url = new Uri(textBox1.Text);
Wenn ich das schreibe gibt es nen Fehler
________________________________________ MfG. Maximilian
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
15.12.2009 19:57 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Danke das geht jetzt mal! Jetzt möchte ich aber das man nur www.pcfreunde.de eingeben muss und das http:// drangehängt wird wieso geht das so nicht?:
webBrowser1.Url = new Uri("http://" + textBox1.Text);
DANKE!
________________________________________ MfG. Maximilian
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
15.12.2009 20:28 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
|
Keine Ahnung. Geht eigentlich schon so..auch wenns eine extrem unschöne Lösung ist ;) Eventuell heißt deine WebBrowser-Komponente nicht webBrowser1. Bisher trug sie ja den Namen"browser". 
mfg
[Zuletzt bearbeitet: 15.12.2009 20:29]
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
15.12.2009 20:56 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
1 Mitglied findet diesen Beitrag gut
|
Kommando zurück. Verwende zum Ansurfen einer URL NICHT den Befehl
Zitat: .Url = (...) Sondern stattdessen
Zitat: webBrowser1.Navigate(textBox1.Text); Die Navigate Methode (aufgerufen mit einem String-Parameter) parst scheinbar den String automatisch durch und hängt "http://" bei Bedarf selbst an.
Hab da nochmal nachgeschaut, weil es mich eben verwundert hat, dass man das händisch lösen muss...
Übrigens, wenn du das Verhalten Browser-ähnlicher machen willst, solltest du nicht (nur) bei Button-Klick lossurfen sondern auch bei einem Enter im Textfeld: Dazu machst du beim Textfeld ein KeyDown-Event und schreibst da rein:
Zitat: if (e.KeyData == Keys.Enter) { webBrowser1.Navigate(textBox1.Text); }
mfg
[Zuletzt bearbeitet: 15.12.2009 20:57]
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
16.12.2009 13:48 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Danke mal! Bei dem Keydown sagt er mir aber:
Zitat: Fehler 1 "System.EventArgs" enthält keine Definition für "KeyData", und es konnte keine Erweiterungsmethode "KeyData" gefunden werden, die ein erstes Argument vom Typ "System.EventArgs" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:\Dokumente und Einstellungen\Tschulik\Desktop\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 52 19 WindowsFormsApplication1
Gibts auch ne Möglichkeit einen Zurück-Vor Button zu machen? xD
@ Vor Zurück hab ich herausgefunden:
-webBrowser1.GoBack(); -webBrowser1.GoForward();
[Zuletzt bearbeitet: 16.12.2009 13:56]
________________________________________ MfG. Maximilian
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
16.12.2009 14:03 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
|
Hast du das Event KeyDown richtig erstellt? Dazu klickst du im Designer auf das Textfeld, wählst bei den Eigenschaften oben "Events"(Das mit dem Blitz) und klickst dann doppelt auf die Zeile für KeyDown. Dann wird dir so eine Methode erstellt:
Zitat: private void textBox1_KeyDown(object sender, KeyEventArgs e) { }
mfg
|
 |
|
| |
|
SHADOWBEAST
|
| Titel: Webbrowser C# |
16.12.2009 15:28 |
|
|
Anmeldungsdatum: 10.07.2008
Beiträge: 188
 |
Tutorial Autor (?) |
|
Ahhh.... Sehr Gut! Jetzt hab ich nur noch eine Frage:
Nachdem ich ENTER gedrückt habe, ist der Text aus der TextBox weg. Jetzt dachte ich mir ich leg das ganze vorher in einen String und weiß es nachher wieder zu. Aber wenn ich schreibe:
string adresse;
Und unten:
textBox1 = adresse;
Gehts nicht warum?
________________________________________ MfG. Maximilian
|
 |
|
| |
|
xero
|
| Titel: Webbrowser C# |
16.12.2009 16:04 |
|
|
Anmeldungsdatum: 04.09.2006
Beiträge: 450
 |
Tutorial Autor (?) |
|
Erstens: Wenn du den Text(=String) der Textbox willst musst du textBox1.Text nehmen. Ohne dem ".Text" greifst du ja auf das gesamte GUI-Element zu.
Zweitens: Der Text sollte nicht verschwinden. Da musst du wo was falsches geschrieben haben. Gib mal den Code der gesamten Classe an.
mfg
|
 |
|
| |
|
|
|
|