C# 自定义事件处理
我有mainVariable.cs,其中包含事件的委托。我还有几个表格和一个worker.cs。我的问题是登录表单正在启动表单并处理一些事件。之后,它隐藏自己,并显示另一种形式。现在问题从这里开始,因为在登录后启动的第二个表单无法处理任何事件。我的意思是,当我从worker.cs引发一个事件时,登录表单处理该事件,而不是第二个事件,即使我处理了登录表单。如何解决这个难题?将此应用于您的程序C# 自定义事件处理,c#,winforms,C#,Winforms,我有mainVariable.cs,其中包含事件的委托。我还有几个表格和一个worker.cs。我的问题是登录表单正在启动表单并处理一些事件。之后,它隐藏自己,并显示另一种形式。现在问题从这里开始,因为在登录后启动的第二个表单无法处理任何事件。我的意思是,当我从worker.cs引发一个事件时,登录表单处理该事件,而不是第二个事件,即使我处理了登录表单。如何解决这个难题?将此应用于您的程序 Application.Run(loginForm); if (login
Application.Run(loginForm);
if (loginForm.IsLoggedIn == true)
{
ERS_FDData.ERSUser user = loginForm.user;
loginForm.Close();
Application.Run(new frmMain(loginForm.user));
}
else
Application.Exit();
登录完成后,您需要将Mainf框架设置为应用程序默认窗口对于要处理的任何事件,您需要为其分配一个子例程。
只要先初始化并显示它,就可以从任何窗体执行此操作 比如说
Form1
{
FormLoad()
{
mybutton.click += new EventHandler(myfunction);
}
myfunction(object o, EventArgs e) { // Dostuff }
}
所以你要初始化Form1,类似这样的东西
Form1 myform = new Form1();
事件将按表单预期工作。请添加一些代码WPF?winforms??????WinForm但我不能共享代码,它太大太大-然后努力创建一个新的最小项目。您是否在任何地方订阅了eventhandler?如果没有方法被指定为它的eventhandler(事件调用列表中没有方法),eventhandler为null是的,在第二个表单中,formI执行了此操作,但仍然以第一个表单处理事件,因为第二个表单事件不起作用。它说我是空的。