2

私が取り組んでいるプロジェクトでは、すべての winforms のリソース ファイル (文字列のみ) をリソース dll に移動しました。リソース dll には、プロジェクトの開始時にすべてのリソース ファイルの文字列をメモリに読み込む静的クラスもあり、それぞれform はそこから文字列を取得します。

私は 2 つのユーザー コントロールを備えた 1 つの winform を持っています。これは、文字列の dll にもアクセスします。そのフォームをデザイン ビューで開こうとすると、ユーザー コントロールごとに次のエラーが表示されます。

「変数 'c​​ontrol_name' は宣言されていないか、割り当てられていません」

問題なくプロジェクトを実行できます。

ユーザー コントロールのコンストラクターと Load イベントの両方から dll を呼び出そうとしましたが、どちらも機能しませんでした。

4

2 に答える 2

2

以前のコメントで述べたように、問題を解決することができました。ユーザーコントロール内からリソース dll にアクセスする代わりに、各コントロールの関数を public に変更し、それらの関数を winform から呼び出しました。

于 2012-04-16T19:55:05.613 に答える
0

最初に簡単な解決策を試してください:
Build->Rebuild Solution を実行します。Visual Studio を閉じて、再度開きます。これは、デザイン時の構築中にユーザー コントロールが例外をスローした場合に発生する可能性があります。Visual Studio の再起動後にのみクリアされました。(Visual Studio 2008 SP1 付き)

これが失敗した場合は、Button1 など、宣言も割り当てもされていない変数への参照がある可能性があります。割り当てられていない場合は、エラーではなく警告が表示されます。

このエラーを修正するには: エラー メッセージで指定された変数を宣言または割り当てます。

http://msdn.microsoft.com/en-us/library/4008y84t.aspx

于 2012-04-16T08:26:45.237 に答える