背景: この UserControl を作成しました。ユーザー コントロールのコンストラクターで、データベースからいくつかの値を取得する関数を呼び出します。値の取得中にエラーが発生した場合は、エラーを説明するメッセージ ボックスが表示されます。ここまでは順調ですね。
問題: (他の要素の中でも) UserControl を含むフォームを作成しました。このフォーム (または UserControl 自体) を開くと、コンストラクターが呼び出され (正確に描画できると思います)、データベースが使用できないため、メッセージボックス (上記で説明) が表示されます。
これを防ぐにはどうすればよいですか?
はっきりさせておきたいのですが、コードは実行時にうまく機能します。すべてが設計どおりです。問題が発生するのは、Visual Studio (重要な場合は 2008 SP1) のデザイナー ビューのみです。ただし、デザイナでは、特に接続が失敗したときにアプリケーションが再接続を試みると、ひどいものになります。デザイナー モードに入るたびに、Visual Studio が約 20 秒間フリーズし (再接続のタイムアウト)、作業プロセスが強制終了されます。