在System.Windows.Form派生类中处置资源的位置?

Mic*_*eld 5 c# idisposable

我有一个表单,在我的构造函数中创建了一些我需要处理的可支配资源.但是,C#表单设计器已在Designer.cs文件中生成一个Dispose()方法,该方法似乎没有任何类型的用户挂钩.所以我不知道我应该如何实现典型IDisposable模式.

偶尔会创建此表单但从未显示过,因此使用Close事件无济于事.

有问题的对象不是IComponents,所以我不能只是添加它们this.components.

我在哪里可以放置这个清理代码,并确保它在表单处理时运行?

Han*_*ant 9

您可以将Dispose()方法从Designer.cs文件移动到源代码文件.并修改它以为表单类中的任何一次性成员添加dispose调用.这是可以编辑设计器文件的少数情况之一,您只需要远离#region标记为"Windows窗体设计器生成的代码"内的代码.