我有3个表格。第二个是显示帮助,第三个是模态对话框。
在Form1中我有:
Form2 HelpForm = new Form2();
Form3 EditForm = new Form3();
和一个帮助菜单:
HelpForm.Show();
我想从Form3中的控件中显示HelpForm。我怎么能这样做?
答案 0 :(得分:1)
帮助是全球性的(如果您的应用程序增长),它应该可以在任何地方访问。所以也许帮助你的单身人士会有所帮助!
class Help
{
private static Form helpForm = null;
static void ShowHelp {
if (helpForm == null)
helpForm = generateHelpForm(); //TODO implement
helpForm.Show();
}
从任何地方访问它......
// somewhere in formx
Help.ShowHelp();
答案 1 :(得分:0)
在EditForm的构造函数中传递HelpForm对象,并在私有变量中分配相同的对象。使用变量在需要时调用show。
Form2 HelpForm = new Form2();
Form3 EditForm = new Form3(HelpForm);
.....
EditForm.ShowHelp();
使用Form3:
Class Form3
{
private Form2 helpForm = null;
public Form3(Form2 HelpForm)
{
helpForm = HelpForm;
}
public void ShowHelp()
{
helpForm.Show();
}
}
答案 2 :(得分:0)
作为选项,您可以使用Application.OpenForms
FormCollection fc = Application.OpenForms;
if (fc.OfType<Form3>().Any())
{
fc.OfType<Form3>().First().Show();
}