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...


Anmelden zum Antworten