1

最近まですべてのコントロールをデフォルト名のままにしていたプロジェクトに取り組んでいます。プロジェクトの開始時に複数回、誤って何かをダブルクリックして、そのコントロールのイベント ハンドラーを作成しました。Ctrl+Z を押すと、思った以上に元に戻してしまうので、当時はそれらを削除する方法がわかりませんでした。

ウィンドウのEventsセクションで、コントロールによって使用されているイベントを表示およびリファクタリングできることがわかりました。Properties私はこれらの問題をほとんど修正TabPage4_Clickしましたが、実際にそれを使用しているコントロールが見つからないという関数があります。TabPage4 はもうありません。この時点ですべての名前を変更しました。このイベント ハンドラを使用しているタブ ページはありませんが、削除するとアプリケーションのコンパイルに失敗します。

この時点で、フォーム上のコントロールが多すぎて、1 つずつチェックして、このイベント ハンドラーを使用しているコントロールがあるかどうかを確認できません。イベント ハンドラーとそれらを使用しているコントロールのリストを表示する方法があるかどうか疑問に思っています。Visual Studio 2010 で、現在イベント ハンドラーを使用しているコントロールを簡単に追跡して、競合を発生させずに削除する方法はありますか?

4

1 に答える 1

2

フォームにコントロールを追加する以外の目的でデザイナーを使用しないでください。フォームの初期化時にイベントを明示的に登録すると、イベントとイベント ハンドラーの管理がはるかに簡単になります。

void RegisterControlEvents()
{
    myButton.Click += MyClickHandler;
    ...
}

void MyClickHandler(object sender, EventArgs e)
{
    ...
}

すぐに、デザイナーをまったく使用していないことに気付くでしょう...

デッド コードについては、削除してビルドしてみてください。参照がある場合、VS は、削除によってコードが壊れた場所 / 修正する場所を教えてくれます。

ツールを探しているなら、ReSharper デモを入手してください。他に匹敵するものはないと思います (いいえ、JetBrains/ReSharper で働いているわけではありません。そのための素晴らしいツールです)。

于 2013-02-16T00:51:35.577 に答える