Zum Inhalt springen

Fragen zu Forms / Funktion aufrufen


Empfohlene Beiträge

Geschrieben

Hallo,

die Übrschrift ist wohl nicht so günstig gewählt, aber mir fällt nichts besseres ein.

Ich hab zwei Forms (Form1 und Form2) und noch eine. Ich öffne Form2 mit Form1 (also ein button):



Form2^ form2 = gcnew Form2();

form2->ShowDialog();


und nun wollte ich im Form 2 einem Button eine Funktion öffnen, die in Form1 enthalten ist und auch da laufen soll (die Funktion füllt etwas in ein DataGrid und das DataGrid ist nunmal in Form1). jedoch ohne dass ich Form2 schließen muss. Ich hab mir das so gedacht:


private: System::Void buttonQueryOK_Click(System::Object^  sender, System::EventArgs^  e) {


	 Form1^ form1 = gcnew Form1();

	 form1->loadQuery();


}


klappt aber nicht...

Danke schonmal...

Gruss

Geschrieben

Natürlich nicht, du erstellst ja eine neue Form1. Du brauchst aber die Instanz von Form1 welche deine Form2 geöffnet hat.

Eine Möglichkeit wäre den Konstruktor von Form 2 so anzupassen das du die Instanz von Form1 übergeben kannst und dann kannst du darüber einfach deine Methode aufrufen...

  • 2 Wochen später...
Geschrieben

das klappt nicht so ganz...


public ref class Form2 : public System::Windows::Forms::Form

{

private: Form1 form1;

public:

	Form2(Form1 form1)

	{

		this->form1 = form1;

		InitializeComponent();

	}

}

(mein Programm heißt getwindowrect) Fehler:

1>c:\vsprojects\getwindowrect\getwindowrect\Form2.h(24) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'form1'

1>c:\vsprojects\getwindowrect\getwindowrect\Form2.h(24) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.

1>c:\vsprojects\getwindowrect\getwindowrect\Form2.h(24) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.

1>c:\vsprojects\getwindowrect\getwindowrect\Form2.h(26) : error C2061: Syntaxfehler: Bezeichner 'Form1'

1>c:\vsprojects\getwindowrect\getwindowrect\Form2.h(28) : error C2039: 'form1': Ist kein Element von 'getWindowRect::Form2'

1>        c:\vsprojects\getwindowrect\getwindowrect\Form2.h(22): Siehe Deklaration von 'getWindowRect::Form2'

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...