2

カスタム コントロール (Control を継承するクラス) を作成しました。フォームに配置すると、Visual Studio IDE で操作できます。エラーが表示され、フォームが表示されません。

エラー メッセージは次のとおりです: La variable 'ctrlImagen' no está declarada o no se asignó nunca.

これは、コンパクト フレームワーク アプリの winform です。

どうすればこれを解決できますか? (クラスが UserControl から継承されている場合、完全に機能します)

4

5 に答える 5

2

クレイジーに聞こえますが、Visual Studio はデザイナーでコントロールのコードを選択的に実行しています。最初に確認することは、コンストラクターです。使用する予定がない場合でも、パブリックな空のデフォルト コンストラクターがあることを確認してください。その後、レイアウト イベント (サイズ変更など) に関連付けられているコードが適切であることを確認します。カスタム コントロールがデザイナーで機能しない場合に常に問題が発生するため、これらが原因である可能性があります。

于 2009-02-27T17:34:10.277 に答える
1

フォームの初期化ロジックが実行される前に実行される初期化ロジックで設計時の例外が発生したようです。良い例は、フォームに含まれるユーザー コントロールの既定のコンストラクター (またはコンストラクターが呼び出す 1 つ以上のメソッド) によって発生する NullPointerException です。

于 2011-11-29T20:12:26.117 に答える
1

ユーザー コントロールにパブリックの既定のコンストラクターがない可能性はありますか? コンストラクターが公開されていない場合、「変数 'userControlX' は宣言されていないか、割り当てられていません」という同様のエラーが発生する可能性があります。

ただし、より多くの情報が必要です。

于 2009-02-27T17:35:20.353 に答える
1

コントロールのコードにバグがあるようです。これは、コントロールのレンダリングを妨げているランタイム エラーのようです。

コードを読み直して、潜在的な null ポインター例外、割り当てられていない変数、スタック オーバーフローなどを探します。バグはどこかに横たわっています。

于 2009-02-27T17:29:34.343 に答える