当...时,如何从另一种形式运行功能? C#

时间:2018-07-06 11:40:23

标签: c# forms tabcontrol

我有一个带有menustrip和tabcontrol的form1,它在tabpage1中打开了form2。当我单击ToolStripMenuItem时,我想从form2运行一个公共函数。 使用以下代码打开form2:

form2 sar = new form2(usrnm);
sar.TopLevel = false;
sar.WindowState = FormWindowState.Maximized;
sar.FormBorderStyle = FormBorderStyle.None;

TabPage tb = new TabPage();
tb.Controls.Add(sar);

sar.Parent = tb;
tabControl1.TabPages.Add(tb);
sar.Show();

tabControl1.SelectTab(tb);
tabControl1.SelectedTab.Text = "Oncor Daily";

我在form2中有一个public void savenewform()函数,我想运行它。我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

在Form1上的某个地方存储对“ sar”的引用,然后您的ToolStripMenuItem可以检查“ somewhere”是否为非空,然后将其用作对表单的引用。由于引用的类型为“ form2”,因此可以使用您的公共功能。

如果您想对其他表单类型使用此技巧,则可能需要为它们创建一个接口,以便可以将它们视为“ iDavesSubForm”而不是“ Form2”。