我敢肯定这确实很简单,但是我只是找不到适合Google的短语。
我有一个打算作为纸盘应用程序的应用程序。
Main()函数初始化一个类的实例CustomApplicationContext
:
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new CustomApplicationContext());
}
在这个课程中,我有一个函数:
public void DoRestart()
{
if (_DoRestartDialog == null)
{
using (_DoRestartDialog = new RestartDialog())
_DoRestartDialog.ShowDialog();
_DoRestartDialog = null;
}
else
_DoRestartDialog.Activate();
}
我在此类中也有一个打开表单的函数:
protected override void OnTrayIconDoubleClick(MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (_InfoDialog == null)
{
using (_InfoDialog = new InfoDialog())
_InfoDialog.ShowDialog();
_InfoDialog = null;
}
else
_InfoDialog.Activate();
}
base.OnTrayIconDoubleClick(e);
}
表单中有一个按钮。单击按钮后,我想在主类中调用DoRestart函数。如何引用此功能?我似乎无法从表单访问它。
与其将您的实例直接传递给Run()
,而不是先将其存储在类级别:
public static CustomApplicationContext App;
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
App = new CustomApplicationContext();
Application.Run(App);
}
现在您可以通过以下方式访问它:
Program.App.DoRestart();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句