Mit enter website aufrufen
-
Ich habe einen kleinen Browser geschrieben und nun möchte ich,wenn ich enter drücke,dass er doe URL im der Leiste aufruft,allerdings gehr dass nicht so,wie ich denke....
Was mache ich falsch bzw. muss ich noch einen speziellen "include<>" einbauen hier mal der Code:
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { if(keypress == enter) { this->webBrowser1->Navigate(this->textBox1->Text); }
-
Verwende das KeyPress Ereignis und prüfe auf "e->KeyChar == '\r'"
Das Event "TextChange" wird nicht aufgerufen, da sich der Text ja nicht ändert, wenn Du Return drückst...
-
wie müsste das mit keypress aussehen??kann ich das direkt in
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { if(keypress == enter) { this->webBrowser1->Navigate(this->textBox1->Text); }
einsetzen?
-
C++ler schrieb:
kann ich das direkt in ... einsetzen?
Nein. Dazu musst eben das KeyPress Ereignis abonnieren und nicht das TextChanged Ereignis.
Simon
-
wie würde das in meinem Falle dann aussehen??
so?
private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { if(keypress == VK_RETURN) this->webBrowser1->Navigate(this->textBox1->Text); else mache nix; (wie müsste das da rein)?? }
-
Nix VK_RETURN.. benutze doch einfach die KeyPressEventArgs.
Wenns nix zu tun gibt (else), dann mach halt einfach nix.
Simon
-
private void textBox1_KeyPress(System::Object^ sender,KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { e.KeyChar = (char)Keys.None; e.Handled = true; SelectNextControl((Control)sender,true,true,true,true); } }
??
-
??
-
private void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs e) { if (e.KeyChar == '\r') { this->webBrowser1->Navigate(this->textBox1->Text); e.Handled = true; } }
!?
-
wenn ich das einfüge kommt bei mir folgender fehler:
1>------ Neues Erstellen gestartet: Projekt: Browser, Konfiguration: Release Win32 ------ 1>Die Zwischen- und Ausgabedateien für das Projekt "Browser" mit der Konfiguration "Release|Win32" werden gelöscht. 1>Kompilieren... 1>stdafx.cpp 1>Kompilieren... 1>Browser.cpp 1>c:\dokumente und einstellungen\????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(179) : error C2061: Syntaxfehler: Bezeichner 'object' 1>c:\dokumente und einstellungen\?????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C2039: 'textBox1_TextChanged': Ist kein Element von 'Browser::Form1' 1> c:\dokumente und einstellungen\?????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(21): Siehe Deklaration von 'Browser::Form1' 1>c:\dokumente und einstellungen\??????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C2065: 'textBox1_TextChanged': nichtdeklarierter Bezeichner 1>c:\dokumente und einstellungen\?????????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C3350: "System::EventHandler": Ein Delegatkonstruktor erwartet 2 Argument(e). 1>c:\dokumente und einstellungen\?????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(181) : error C2065: 'e': nichtdeklarierter Bezeichner 1>c:\dokumente und einstellungen\????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(181) : error C2228: Links von ".KeyChar" muss sich eine Klasse/Struktur/Union befinden. 1> Typ ist ''unknown-type'' 1>c:\dokumente und einstellungen\???????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(184) : error C2065: 'e': nichtdeklarierter Bezeichner 1>c:\dokumente und einstellungen\??????\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(184) : error C2228: Links von ".Handled" muss sich eine Klasse/Struktur/Union befinden. 1> Typ ist ''unknown-type'' 1>AssemblyInfo.cpp 1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\??????\Eigene Dateien\Visual Studio 2008\Projects\Browser\Browser\Release\BuildLog.htm" gespeichert. 1>Browser - 8 Fehler, 0 Warnung(en)
-
Ist halt einach falsch:
private void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e)
Ev. wäre es besser VB.NET oder C# zu lernen. Ist einfacher.
Simon
-
Also wäre folgendes richtig?
private void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e) { if (e.KeyChar == '\r') { this->webBrowser1->Navigate(this->textBox1->Text); e.Handled = true; } }
-
Syntaktisch fast..
private sind in C++/CLI auch Labels, d.h. es muss so aussehen.
ref class A { private: void ... };
-
Also genau:
[cpp]
ref class A {
private void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e)
{
if (e.KeyChar == '\r')
{
this->webBrowser1->Navigate(this->textBox1->Text);
e.Handled = true;
}
}
}
[/cpp}
-
nein. hinter private brauchts ein :
Aber hey, Du hast doch sicher auch ein Kompiler der dir hilft.. oder?
-
Nun sieht mein code folgendermaßen aus:
ref class A { private: void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e) { if (e.KeyChar == '\r') { this->webBrowser1->Navigate(this->textBox1->Text); e.Handled = true; } } }
Aber jetzt gibts wieder 12 fehler:
1>------ Neues Erstellen gestartet: Projekt: Browser, Konfiguration: Release Win32 ------ 1>Die Zwischen- und Ausgabedateien für das Projekt "Browser" mit der Konfiguration "Release|Win32" werden gelöscht. 1>Kompilieren... 1>stdafx.cpp 1>Kompilieren... 1>Browser.cpp 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(189) : error C2059: Syntaxfehler: '}' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(189) : error C2143: Syntaxfehler: Es fehlt ';' vor '}' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(189) : error C2238: Unerwartete(s) Token vor ';' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C2039: 'textBox1_TextChanged': Ist kein Element von 'Browser::Form1' 1> c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(21): Siehe Deklaration von 'Browser::Form1' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C2065: 'textBox1_TextChanged': nichtdeklarierter Bezeichner 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(129) : error C3350: "System::EventHandler": Ein Delegatkonstruktor erwartet 2 Argument(e). 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(181) : error C2228: Links von ".KeyChar" muss sich eine Klasse/Struktur/Union befinden. 1> Typ ist 'System::Windows::Forms::KeyPressEventArgs ^' 1> Wollten Sie stattdessen '->' verwenden? 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(183) : error C2039: 'webBrowser1': Ist kein Element von 'Browser::Form1::A' 1> c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(179): Siehe Deklaration von 'Browser::Form1::A' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(183) : error C2227: Links von "->Navigate" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(183) : error C2039: 'textBox1': Ist kein Element von 'Browser::Form1::A' 1> c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(179): Siehe Deklaration von 'Browser::Form1::A' 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(183) : error C2227: Links von "->Text" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 1>c:\dokumente und einstellungen\?\eigene dateien\visual studio 2008\projects\browser\browser\Form1.h(184) : error C2228: Links von ".Handled" muss sich eine Klasse/Struktur/Union befinden. 1> Typ ist 'System::Windows::Forms::KeyPressEventArgs ^' 1> Wollten Sie stattdessen '->' verwenden? 1>AssemblyInfo.cpp 1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Alexander\Eigene Dateien\Visual Studio 2008\Projects\Browser\Browser\Release\BuildLog.htm" gespeichert. 1>Browser - 12 Fehler, 0 Warnung(en)
dass is alles etwas komisch
-
dass is alles etwas komisch
Was ist daran komisch?
Liest du dir die Fehlermeldungen deines Compilers überhaupt durch?
Die schliessende, geschweifte Klammer einer Klasse wird mit einem Semikolon abgeschlossen.
-
leider klappt garnichts!!!
könnte es jemand bitte richten?
#pragma once namespace Browser { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Zusammenfassung für Form1 /// /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern, /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen /// arbeiten, die diesem Formular zugewiesen sind. /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: protected: private: System::Windows::Forms::Button^ button2; private: System::Windows::Forms::TextBox^ textBox1; private: System::Windows::Forms::Button^ button3; private: System::Windows::Forms::WebBrowser^ webBrowser1; protected: private: /// <summary> /// Erforderliche Designervariable. /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->button2 = (gcnew System::Windows::Forms::Button()); this->textBox1 = (gcnew System::Windows::Forms::TextBox()); this->button3 = (gcnew System::Windows::Forms::Button()); this->webBrowser1 = (gcnew System::Windows::Forms::WebBrowser()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(12, 1); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 1; this->button1->Text = L"Zurück"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // button2 // this->button2->Location = System::Drawing::Point(93, 0); this->button2->Name = L"button2"; this->button2->Size = System::Drawing::Size(75, 24); this->button2->TabIndex = 2; this->button2->Text = L"Vor"; this->button2->UseVisualStyleBackColor = true; this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click); // // textBox1 // this->textBox1->Location = System::Drawing::Point(174, 3); this->textBox1->Name = L"textBox1"; this->textBox1->Size = System::Drawing::Size(983, 20); this->textBox1->TabIndex = 3; this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged); // // button3 // this->button3->Location = System::Drawing::Point(1163, 3); this->button3->Name = L"button3"; this->button3->Size = System::Drawing::Size(75, 23); this->button3->TabIndex = 4; this->button3->Text = L"Go!"; this->button3->UseVisualStyleBackColor = true; this->button3->Click += gcnew System::EventHandler(this, &Form1::button3_Click); // // webBrowser1 // this->webBrowser1->Location = System::Drawing::Point(18, 30); this->webBrowser1->MinimumSize = System::Drawing::Size(20, 20); this->webBrowser1->Name = L"webBrowser1"; this->webBrowser1->ScriptErrorsSuppressed = true; this->webBrowser1->Size = System::Drawing::Size(1220, 644); this->webBrowser1->TabIndex = 5; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(1250, 699); this->Controls->Add(this->webBrowser1); this->Controls->Add(this->button3); this->Controls->Add(this->textBox1); this->Controls->Add(this->button2); this->Controls->Add(this->button1); this->Name = L"Form1"; this->Text = L"Browser"; this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load); this->ResumeLayout(false); this->PerformLayout(); } #pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { } private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->webBrowser1->GoBack(); } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { this->webBrowser1->GoForward(); } private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { this->webBrowser1->Navigate(this->textBox1->Text); } ref class A { private: void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e) { if (e.KeyChar == '\r') { this->webBrowser1->Navigate(this->textBox1->Text); e.Handled = true; } } }; }; }
-
Moin,
ein bischen falsch oder ?
namespace Browser { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing;
hand, mogel
-
Das hilft mir leider nicht sehr viel weiter