2009-07-15 15 views
2

私は、そのピクチャボックスのPaintイベント内のピクチャボックスにGraphicsオブジェクトを描画しています。GDI +は例外をスローしません。大きな赤X

void pictureBox1_Paint(object sender, PaintEventArgs e) 
    { 
     Graphics g = e.Graphics; 
     g.FillEllipse(color, x, ...); 
     etc etc...... 
    } 

すべてが正常に動作しますが、突然のPictureBoxは白に変わり、私は例外はOverflowExceptionがまたはNullPointerExceptionがしばしば、そこにあることを確認することができ、出力ウィンドウを見ると、大きな赤いXが表示されます。

例外がどこから来たのかを見つける方法はありますか?デバッガは、例外が発生したときに他の場所と同様に動作しません。

答えて

11

ビジュアルスタジオのデバッガに、すべての例外を壊すように指示することも、ユーザーが処理しても中断する例外を通知することもできます。

編集:メニューでは、デバッグ - >例外 - > "投げられた"ボックスをチェックします。

+0

ありがとうございます。本当にこのオプションは、すべての例外に対してデフォルトにする必要があります。 –

+2

例外を処理する予定がない場合。たとえば、私は最近、PDFBoxを使ってPDFの自動解析を行った。開くことができないパスワードで保護されたpdfが見つかると、PDFBoxは例外をスローします。このエラーが発生するたびにデバッガを停止させないようにして、try/catchブロックにログを記録してビジネスを続けます。私はデバッガがキャッチとブレークを無視しないようにしたいと思います。 – McAden

0

これはGDI +の動作ではありません。これは、Visual Studioをクラッシュさせないようにするデザイナーです。これは設計時にのみ発生しているエラーですか?実行時に再現しようとするとどうなりますか?

+0

実行時にエラーが表示されます。 –

+0

ああ、そうだ。私はデザイナーの中でこれまでに実行したことがあります。 – snarf

関連する問題