Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 某些表单事件(加载,如图所示)停止工作_C#_.net_Winforms_Events - Fatal编程技术网

C# 某些表单事件(加载,如图所示)停止工作

C# 某些表单事件(加载,如图所示)停止工作,c#,.net,winforms,events,C#,.net,Winforms,Events,我有一个有多种形式的项目。对项目数据集进行一些更改后,一个窗体上的Load事件停止工作(尽管窗体显示正确)。表单本身没有变化。作为一种快速解决方法,我创建了Show handler(通过VS IDE)并将代码放在那里,但它也不会触发(我创建了测试消息框以确保调试器没有问题) 另一方面,许多事件确实有效,例如,我尝试过激活它,但它对我没有用处 .Designer.cs中有适当的行: this.Load += new System.EventHandler(this.FormZlecenie_Lo

我有一个有多种形式的项目。对项目数据集进行一些更改后,一个窗体上的Load事件停止工作(尽管窗体显示正确)。表单本身没有变化。作为一种快速解决方法,我创建了Show handler(通过VS IDE)并将代码放在那里,但它也不会触发(我创建了测试消息框以确保调试器没有问题)

另一方面,许多事件确实有效,例如,我尝试过激活它,但它对我没有用处

.Designer.cs中有适当的行:

 this.Load += new System.EventHandler(this.FormZlecenie_Load);
我将与此表单连接的三个文件(.cs、.resx、.Designer.cs)与我在更改数据集之前所做的备份进行了比较,结果几乎没有差异(备份工作没有问题)

我不想恢复到备份,因为我需要在数据集中进行这些更改,而且有很多更改

我还删除了所有二进制文件夹(bin、obj),但没有成功

我在网上寻找过类似的问题,但我找到的唯一解决办法是重新创建表单。这是我最后的选择,因为这会很费时,我不想轻易放弃


那么我还应该去哪里看呢?我没有主意了。

我会进入表单设计器,确保事件显示在属性窗口中。如果存在,则将其删除,生成项目,然后手动重新添加

如果这不起作用,请进入表单的构造函数,并使用您在问题中给出的代码示例手动注册事件。调试以查看事件是否激发

接下来,尝试对事件处理程序使用不同的方法。仅当您使用“this.load+=”时自动生成的一个

最后,在最坏的情况下,您可以重新创建表单并复制当前表单中的元素。有时设计师把表单弄糟了,无法自行修复


希望这有帮助

检查对
InitializeComponent()的调用。

表单在没有调用的情况下仍然部分工作。甚至一些特定于表单的事件也会被调用。但是表单上的控件将不会被创建,类似于
this.Load
的事件将不再工作。

查看代码中的绑定。有时绑定错误时会忽略事件(即绑定到Thread.IsAlive-我的案例)。

是否使用64位版本的Windows?您是否在输出窗口中看到“第一次机会异常”?是的,它是64位Windows 7。我的项目在NET2.0下,我看到“第一次机会例外”是NET4.0的东西。但我已经在NET4.0下重新编译,输出窗口中没有这条消息。可能是太棒了!虽然勾选CLR异常的抛出框对我来说不起作用,但我在没有调试器的情况下运行了应用程序,并且确实有一个与datasource连接的异常。奇怪的错误。我想把你的评论作为一个答案,但我认为这是不可能的评论。