2012-04-16 30 views
2

私が取り組んでいるプロジェクトでは、winformsのリソースファイル(文字列のみ)をリソースdllに移動しました。すべてのリソースファイル文字列をプロジェクトの開始時にメモリに格納し、各フォームはそのファイルから文字列を取得します。winformをデザインビューでユーザーコントロールで開くことができません

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

"The variable 'control_name' is either undeclared or was never assigned"

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

私は、ユーザーコントロールのコンストラクタとロードイベントの両方からdllを呼び出そうとしましたが、どちらのケースもうまく動作しませんでした。

答えて

2

私は以前のコメントで述べてきたように、私はこの問題を解決するために管理。ユーザーコントロール内からリソースDLLにアクセスするのではなく、各コントロールの関数をpublicに変更し、winformからこれらの関数を呼び出しました。

0

最初に簡単な解決策を試してください:
doビルド - >リビルドソリューション。 Visual Studioを閉じて、もう一度開きます。 ユーザーコントロールがデザイン時に例外をスローした場合に発生する可能性があります。それはVisual Studioの再起動後にしかクリアされませんでした。 (Visual Studio 2008 w/SP1)

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

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

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

+0

神の既知の解決策を何度も作成して再構築しました。私がユーザーコントロールでdll関数の呼び出しを発言するとき、winformをデザインビューで開くことができます。これは静的なクラスとは何か関係がありますか? – Guy

+0

@Guyユーザーコントロールを添付できますか? –

+0

問題が解決しました。リソースdllにアクセスする関数は、usercontrolsの代わりにwinformから呼び出されるようになりました。 – Guy

関連する問題