スキップしてメイン コンテンツに移動

変数 'XXX' は宣言されていないか、または割り当てられていません

ユーザーコントロールを作って、フォームデザイナで画面に貼り付けて、保存する。そこまではよいのだけど、もう一度、フォームデザイナで画面を開こうとするとエラーが起きる。



表示されるエラーはフォームデザイナが時々表示する次のような画面。


調べてみると、 InitializeComponent()メソッドの中でユーザーコントロールをnewする行が消えていた。

手で追加しても、ファイルを保存すると消えてしまう。ユーザーコントロールを張りなおしても同じ。以前はエラーなんて起きなかったのに、、、

ユーザコントロールの変更履歴を見ると、コンストラクターをpublicからinternalに変えていた。これが原因だったようだ。


「publicはいやだ」と変えてしまったのだろうなあ。馬鹿なことをした。

今回の教訓

自分の美意識を満たすために、自動で生成されたコードを変更するとエラーが起きて時間を無駄にすることがあるので、やめましょう。

本当に時間を無駄にした(涙😢)。



コメント

このブログの人気の投稿

SQLでは文字列の前に「N」が必要だ

SQLServerのテーブルにテキストを登録したら一部の文字が文字化けした。環境依存文字だと化けるみたい。

コンボボックスのDataSourceプロパティの使い方

コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記)