为什么嵌套在选项卡控件中的控件会被销毁两次?

发布于 2024-09-15 22:48:59 字数 276 浏览 5 评论 0原文

我一直尝试调试为什么关闭 Windows 窗体设计器会使 Visual Studio 崩溃,并通过添加一系列消息框发现,如果我的控件嵌套在 System::Windows::Forms::TabControl 内,则会调用这些控件的析构函数两次。

这是预期的行为吗?有办法避免吗?

I've been trying to debug why closing windows forms designer is crashing visual studio and have discovered by adding a series of message boxes that if my controls are nested inside a System::Windows::Forms::TabControl the destructor of those controls are called twice.

Is that expected behaviour and is there a way of avoiding it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清风疏影 2024-09-22 22:48:59

Dispose() 方法可以被多次调用,没有规则说它不合法。如果您确实覆盖它(在 C++/CLI 中实现析构函数),那么您必须确保您的代码对此具有弹性。通常使用类中的 isDispose 字段来完成。

The Dispose() method may be called more than once, there is no rule that says it isn't legal. If you do override it (implement the destructor in C++/CLI) then you have to make sure that your code is resilient to this. Very commonly done with an isDisposed field in the class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文