webBrowser URL von Form an anderes Form übergeben
-
Hi
Hab folgendes problem:Will in Visual C++ 2005 im Form1.h mit Buttonklick das Form namens Internet.h aufrufen und den url dabei übergeben das aufrüben und öffnen des fensters kann ich aber wie übergebe ich die URL ?
Hier der Code den ich zum Aufrufen nehme:private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { Internet^ XY = gcnew Internet(); XY->ShowDialog(); }
zum url übergeben in visual basic geht das laut i-net so
internet.webbrowser2.navigate("HIER MUSS DIE URL REIN ZUM ANSURFEN");
aber wie geht das in visual c++ ?
-
takeiteasyhp schrieb:
zum url übergeben in visual basic geht das laut i-net so
internet.webbrowser2.navigate("HIER MUSS DIE URL REIN ZUM ANSURFEN");
aber wie geht das in visual c++ ?
Im Prinzip genauso:
XY->webBrowser2->Navigate("Hier muss die URL rein");
Abgesehen davon ist das hier das falsche Unterforum.
-
da bekmme ich follgende fehlermeldung
Fehler 1 error C2248: "DarkPirate::Internet::webBrowser2": Kein Zugriff auf private Member, dessen Deklaration in der DarkPirate::Internet-Klasse erfolgte. c:\c++\darkpirate\Form1.h 400
hilfe pls
und was bedeutet eigentlich das XY ?
-
takeiteasyhp schrieb:
da bekmme ich follgende fehlermeldung
Fehler 1 error C2248: "DarkPirate::Internet::webBrowser2": Kein Zugriff auf private Member, dessen Deklaration in der DarkPirate::Internet-Klasse erfolgte. c:\c++\darkpirate\Form1.h 400
Dann deklarier das WebBrowser-Steuerelement entweder öffentlich oder, noch besser, schreib eine Methode, um es nach außen hin sichtbar zu machen.
public: System::Void NavigateToUrl(System::String^ url) { this->webBrowser2->Navigate(url); }
und was bedeutet eigentlich das XY ?
Hey, das kommt in *Deinem* Code vor, ich hab's nur übernommen.
-
wo muss ich das
public: System::Void NavigateToUrl(System::String^ url) { this->webBrowser2->Navigate(url); }
Hinschreiben ?
in die Form1.h ind die Internet.h ?Programmiere zum ersten mal mit Visual C++ und Forms ^^
könnte man das nicht mit globeren variablen lösen die beide forms kennen wenn jo wa deklariert man die ? zumbeistiel als string aber wie deklariere ich den string variable; geht ned
-
Hm, du solltest dich evtl. erstmal mit der zugrundeliegenden Sprache beschäftigen.
GUI ist nichts für Anfänger.
-
ich programiere schon ein jahr cpp aber das erste mal mit visual cpp und den forms
helft mir bitte
-
takeiteasyhp schrieb:
wo muss ich das
public: System::Void NavigateToUrl(System::String^ url) { this->webBrowser2->Navigate(url); }
Hinschreiben ?
in die Form1.h ind die Internet.h ?Na, in die Internet.h, genauer gesagt eben in die Klasse 'Internet'.
Programmiere zum ersten mal mit Visual C++ und Forms ^^
Psst, ich habe *noch nie* mit C++/WinForms programmiert (aber, zugegeben, bereits in VB und C# und kann mir den Rest zusammenreimen).
könnte man das nicht mit globeren variablen lösen die beide forms kennen wenn jo wa deklariert man die ? zumbeistiel als string aber wie deklariere ich den string variable; geht ned
Ja, über globale Variablen *ginge* es auch, aber sowas macht man nicht. Globale Variablen sind böse (denn sie zerstören Deine Programmstruktur und Datenkapselung und hinterlassen Chaos).
-
das ist mein Internet.h code wohing gehört dein code ?
#pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; namespace DarkPirate { /// <summary> /// Zusammenfassung für Internet /// /// 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 Internet : public System::Windows::Forms::Form { public: Internet(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Internet() { if (components) { delete components; } } private: System::Windows::Forms::WebBrowser^ webBrowser2; protected: private: System::Windows::Forms::TextBox^ textBox1; private: System::Windows::Forms::Button^ button1; protected: 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) { System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Internet::typeid)); this->webBrowser2 = (gcnew System::Windows::Forms::WebBrowser()); this->textBox1 = (gcnew System::Windows::Forms::TextBox()); this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // webBrowser2 // this->webBrowser2->Dock = System::Windows::Forms::DockStyle::Fill; this->webBrowser2->Location = System::Drawing::Point(0, 0); this->webBrowser2->MinimumSize = System::Drawing::Size(20, 20); this->webBrowser2->Name = L"webBrowser2"; this->webBrowser2->Size = System::Drawing::Size(1284, 490); this->webBrowser2->TabIndex = 4; this->webBrowser2->Url = (gcnew System::Uri(L"", System::UriKind::Relative)); this->webBrowser2->Navigated += gcnew System::Windows::Forms::WebBrowserNavigatedEventHandler(this, &Internet::webBrowser2_Navigated); // // textBox1 // this->textBox1->Location = System::Drawing::Point(0, 0); this->textBox1->Name = L"textBox1"; this->textBox1->Size = System::Drawing::Size(1199, 20); this->textBox1->TabIndex = 5; // // button1 // this->button1->Location = System::Drawing::Point(1196, 0); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(88, 20); this->button1->TabIndex = 6; this->button1->Text = L"GO"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Internet::button1_Click); // // Internet // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(1284, 490); this->Controls->Add(this->button1); this->Controls->Add(this->textBox1); this->Controls->Add(this->webBrowser2); this->Icon = (cli::safe_cast<System::Drawing::Icon^ >(resources->GetObject(L"$this.Icon"))); this->Name = L"Internet"; this->Text = L"Internet"; this->WindowState = System::Windows::Forms::FormWindowState::Maximized; this->Load += gcnew System::EventHandler(this, &Internet::Internet_Load); this->ResumeLayout(false); this->PerformLayout(); } #pragma endregion private: System::Void Internet_Load(System::Object^ sender, System::EventArgs^ e) { } private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { webBrowser2->Navigate( this->textBox1->Text ); } private: System::Void webBrowser2_Navigated(System::Object^ sender, System::Windows::Forms::WebBrowserNavigatedEventArgs^ e) { textBox1->Text = webBrowser2->Url->ToString(); } }; }
HAB mann muss nur in der Zeile 42 das private auf public ändern dann geht der aufruf von der Form1 über XY->webBrowser2->Navigate("URL"); thx an ALLE
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wie auch schon von den anderen dezent drauf hingewiesen wurde: Öffentliche Variablen sind ganz ganz böse! Schau dir mal property´s an...