结果证明这是一个奇怪的事件组合,我仍然无法解释或弄清楚,但我最终通过删除所有内容并向后追踪它来找到它的底部。
我在这个应用程序中有几个模块,每个模块都会打开一个面板,占据表单的整个宽度和高度(只有一个表单),所以它就像一个“页面”。当用户完成页面后,他会点击一个关闭按钮,该按钮会处理该模块中的所有内容。所以他实际上是在关闭页面并转到另一个页面。由于每一页都占据了表单的整个宽度和高度,我希望它在表单大小发生变化时扩展以填充表单。所以每个模块都有一个事件监听器,它监听“主”表单来调整大小。
这就是发生的事情:
我在第一页创建了一个监听器,这样它就可以自行调整大小(效果很好)
我在第二页上创建了一个侦听器,以便它可以自行调整大小,但我不小心调用了此页面上第一页的侦听器。所以它有两个监听器,它们没有抛出错误,因为第一页的 resize sub 错误地被公开而不是私有。
第 3 页的事件侦听器是一个不起作用的事件侦听器,尽管它的创建方式与第 1 页的事件侦听器一样。
向后追溯后,我发现第 2 页上的侦听器正在调用第 1 页上的 sub 并将其删除。一旦我删除它,第 3 页上的监听器就会开始正常工作。我仍然不知道为什么,因为即使第一页处理了它的元素,它的调整大小子,它是公开的,应该仍然可以从第二页访问。当页面被处理时,我删除了事件侦听器以及其他所有内容。但是,第 2 页上有一个链接打开了第 3 页而没有处理第 2 页,这以某种方式阻止了第 3 页的侦听器被解雇。
无论如何,它就这么简单,现在它按预期工作,所以我会继续。
谢谢(你的)信息。