Methode von MainForm in anderer Form ausführen C#
Ich hab volgendes Problem ich habe eine Funktion xy() die Eine Event inder MainForm ausführt. Dan habe ich eine zweite Form die ein button hat und wenn man da drauf klick soll die Funktion xy() ausgeführt werden natürlich auf der MainForm
ich hoffe ihr wiest was ich meine. Danke im Vorraus
2 Antworten
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
Hallo, hier eine vereinfachte beispiel wie du auf eine methode zurueck greifen kannst. Es gibt auch andere moeglichkeiten, aber ein paar weitere infos was du letzten endes ereichen moechtest waere dann hilfreich..
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var child = new Form2(this);
child.Show();
}
public string Add(int a, int b)
{
return (a + b).ToString();
}
}
public partial class Form2 : Form
{
private Form1 parentForm;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 parent)
{
InitializeComponent();
this.parentForm = parent;
}
private void button1_Click(object sender, EventArgs e)
{
Debug.WriteLine(this.parentForm.Add(2, 2));
}
}
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Ich bin mir nicht sicher, wo dien Problem jetzt genau liegt, aber du kannst denke ich per Doppelklick auf den Button im Designer die ClickeventMethode des Buttons aufrufen, und in dieser die Funktion xy() ausführen.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Doch das geht. Du musst bei der Instanziierung der zweiten Form die erste Form mitgeben. Dann kannst du die Funktion xy() in der ersten Form aus der zweiten heraus ausführen.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
kannst du mir ein einfaches code bsp geben wo ich diese Instanz ändern kann. thx
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Hier ist ein Beispielprojekt von mir, in dem die Funktion einer Form durch den Klick auf den Button in der zweiten Form ausgeführt wird: https://mega.co.nz/#!Ex1WHByb!LmYcvXFlPUcd-F8Y_CTtkBIWPfUXi2kIYc2p9vizWuU
ne eigentlich nicht