我看到其他一些帖子讨论了相同的问题,但大多数都使用多线程或计时器,这里不是这种情况。
我正在使用一个MenuStrip
包含标准File > Exit
项目的简单 VB.NET (.net 4.0) 桌面应用程序。File > Exit 项的代码很简单Me.Close()
。通过鼠标或使用键盘快捷键 ( ) 单击项目Alt + F, X
会引发以下异常:
{"Cannot access a disposed object. Object name: 'ToolStripDropDownMenu'."}
Alt + F4
有趣的是,通过序列或窗口的关闭按钮关闭同一个应用程序可以顺利进行。
我检查了堆栈跟踪,似乎它正在尝试在应用程序关闭后创建该菜单项的句柄。任何见解将不胜感激。