Как запустить функцию из другой формы, когда ...? C # - PullRequest
0 голосов
/ 06 июля 2018

У меня есть форма1 с меню и табулатурой, форма2 открыта на вкладке1. Я хочу запустить публичную функцию из form2, когда я нажимаю на ToolStripMenuItem. форма2 открыта с этим кодом:

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";

У меня есть public void savenewform() функция в form2, и я хочу запустить это. Я не знаю, как я могу это сделать.

1 Ответ

0 голосов
/ 06 июля 2018

Сохраните ссылку на 'sar' где-нибудь в Form1, затем ваш ToolStripMenuItem может проверить, что 'where' не является нулевым, а затем использовать его как ссылку на форму. Поскольку ссылка будет иметь тип 'form2', ваша публичная функция будет доступна.

Если вы хотите использовать этот трюк для других типов форм, вам может потребоваться создать интерфейс для них, чтобы вы могли рассматривать их как «iDavesSubForm», а не «Form2».

...