Zum Inhalt springen

Fragen zu Forms / Funktion aufrufen


grey1987

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

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'

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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