_Err001. イベントのメソッドを削除した時のエラー

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

コンパイルエラー「’*’ に ‘*’ の定義が含まれておらず、型 ‘*’ の最初の引数を受け付ける拡張メソッドが見つかりませんでした」はデザイナーを介さずにイベントのメソッドを削除した際に発生するエラーです。

error-2001-sch

エラーの原因

コントロールにイベントを設定し、その後、そのイベントが必要なくなることがあります。
その際に、何の対策もなしにメソッドを削除してしまうと、イベントに関連付けたメソッドが行方不明になったとされ、エラーが発生します。
このイベントはコンパイルエラーで、直さないとコンパイルが通りません。
また、デザイナーも動作しなくなります。

エラーを直す

まず、どこでエラーが発生したか出ているので、リンクをクリックして、そこにジャンプします。
error-2001-sch-2
そうすると、何やらコードがずらっと並んだ画面に飛びます。
赤い波線が引かれている部分が、消してしまったメソッドです。そのまま消してしまってもいい場合は、その行ごと消してしまいましょう。
error-2001-sch-3
これで終了です。

!!これは覚えよう!!

そもそも、対策なしにメソッドを消してしまうのはやってはいけない行為です。
イベントを削除する場合は、プロパティウィンドウから消しましょう。
error-2001-sch-4
削除したいイベントを右クリックすると、「リセット(R)」という項目があるので選択。
そうするとイベントが解除されます。
これが正しいやり方なのですが、これだとメソッドが削除されない場合があります。
リセット(基、イベントの解除)をしてからメソッドを消すようにしましょう。