0

Windows フォーム デザイナから.Designer.vb ファイルにオブジェクトを作成すると、オブジェクトごとに Dispose() 呼び出しが自動的に生成されますか? それとも手動で行う必要がありますか?

具体的には、Windows フォーム デザイナで作成された (Dispose() への呼び出しを必要とする ShowDialog() を呼び出すことによって) アンマネージ リソースを使用するオブジェクトがあります。そのオブジェクトで Dispose() を呼び出す必要がありますか?

注: 同じオブジェクトに対して Dispose() を複数回呼び出さないことをお勧めします。

4

2 に答える 2

1

答えはわかりませんが、答えを得る方法と、winforms のコンポーネントを設計するための巧妙なトリックを学ぶ方法を教えてください (他の人にとってはうまくいくかもしれませんが、試したことはありません)。

コンポーネントを既に参照しているプロジェクトがあると仮定して、新しいプロジェクトを作成し、「Start External Program」を「C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe」に設定します (これは、 Visual Studio のバージョン、これは 2005 年のものです)

このプロジェクトを実行すると、VS の別のインスタンスが実行されます。これで、VS がデバッグ モードで開かれました。(VS の 2 番目のインスタンスから) コンポーネントのビルド/テストに使用しているプロジェクトを開き、ブレークポイントを設定してテストします。Dispose コードのブレークポイントにヒットしたことを確認できるはずです。

これは、VS アドインとデザイナー コンポーネントのテストに最適です。

于 2013-09-25T19:26:50.353 に答える