VS2017の操作仕様を知らないため、以下はVS2015の仕様による推測です。間違っていたらご容赦を・・・
エラーメッセージから、あなたは次のような操作をしたのだと思います。
(1) Form1.csをデザイナーで編集中、フォームをダブルクリック
(2) Form1.csにForm1_Loadメソッド(イベントハンドラー)が自動生成された
(3) このメソッドはいらないと思いメソッドを手動で削除した
(4) Form1.csをデザイナーで開けなくなった
この状況ではForm1.Designer.csにコンパイルエラー(CS1061)があるためデザイナーを開けなくなっています。エラーはメッセージにあるとおり「Form1のイベントハンドラーForm1_LoadがForm1.csに定義されてない」ことによって発生しています。
回復方法:
(R1) Error ListからCS1061をダブルクリックする(※3)
(R2) Form1.Designer.csのエラーの行が表示されるはず
this.Load += new System.EventHandler(this.Form1_Load);
このような行になっているはずで、Form1_Load
メソッドがないためエラーを示す赤い波線の下線が表示されているはず。
(R3) この行を削除しソースをセーブする。=>コンパイルエラーがなくなる
(R4) ソリューションエクスプローラーからForm1.csをダブルクリックすると今度はデザイナーが表示さる
本来どうすべきだったか:
イベントハンドラーを削除したい場合はいきなり(3)をするのはNGで、次の手順で削除します。
(A1) Form1.csをデザイナーで開く(※1)
(A2) プロパティー画面で削除したいイベントを探す
(A3) そのイベントのハンドラー名を空文字列に置き換える
(A4) Form1.csのソースコードを開き(※2)ハンドラーメソッドの定義を削除する
ソリューションエクスプローラーからの操作を挙げておきます。(VS2015)
※1: デザイナーで開く
=>Form1.csをダブルクリック
=>Form1.csを右クリック=>View Desiner
※2: ソースコードを開く
=>Form1.csを選びF7
=>Form1.csを右クリック=>View Code
※3: Form1クラスの自動生成ソースを開く
=>Form1.Designer.csをダブルクリック
このファイルはデザイナーが自動生成するものなので基本的には編集しません、本件のような問題があった場合にのみ直接編集します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/10 23:50
2017/11/11 02:06
2017/11/11 02:21