C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: System.Drawing.pdbは読み込まれていません


(過去ログ 134 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■79419 / inTopicNo.1)  System.Drawing.pdbは読み込まれていません
  
□投稿者/ もん (3回)-(2016/03/31(Thu) 23:13:11)

分類:[VB.NET/VB2005 以降] 

System.Drawing.pdbは読み込まれていません
とゆうエラーが出る原因がわかりません

PictureBoxにBITMAPを表示してからグラフ(chart)を表示するとグラフの表示をしようとしている所で上記のエラーが出ます
逆にグラフの表示をしてからPictureBoxにBITMAPを表示した場合はエラーが出ません
またグラフの表示をしてからPictureBoxにBITMAPを表示し、もう一度グラフを再表示しようとするとエラーになります

BITMAPの扱いが悪いためだと思われますが原因を教えてください

'BITMAP表示
    Public Function CvStatusGraph(intTime As Integer) As Boolean

        Dim ps As Point()
        Dim canvas As New Bitmap(frmMain.picA.Width, frmMain.picA.Height)
        Dim g As Graphics = Graphics.FromImage(canvas)
        ps = {New Point(0, 0), _
              New Point(1800, 0), _
              New Point(1800, 300), _
              New Point(0, 300)}
            g.FillPolygon(Brushes.Green, ps, FillMode.Alternate)

        g.Dispose()
        g = Nothing

        frmMain.picA.Image = canvas
        frmMain.picA.Refresh()
        canvas.Dispose()
        canvas = Nothing

     End Function

'グラフ抜粋

       .ChartAreas(0).AxisX.LabelStyle.Interval = 3600    '1データ毎に表示(すべて表示)
       .Series.Clear()
       ds = EventData.dsGraph(0)
       .DataSource = EventData.dsGraph(0)
       .DataBind()



引用返信 編集キー/
■79420 / inTopicNo.2)  Re[1]: System.Drawing.pdbは読み込まれていません
□投稿者/ Azulean (625回)-(2016/03/31(Thu) 23:45:54)
No79419 (もん さん) に返信
> frmMain.picA.Image = canvas
> frmMain.picA.Refresh()
> canvas.Dispose()

このせいです。
PictureBox の Image プロパティに Bitmap を設定したのであれば、それを Dispose してはいけません。

理由としては、PictureBox がディスプレイに描く必要が出たときにこの Image プロパティに設定されている Bitmap を利用するからです。
新しい Bitmap を Image プロパティに設定しなおす(上書きする)ことをした後であれば、前の Bitmap を Dispose できます。
引用返信 編集キー/
■79421 / inTopicNo.3)  Re[2]: System.Drawing.pdbは読み込まれていません
□投稿者/ もん (6回)-(2016/04/01(Fri) 00:02:54)
No79420 (Azulean さん) に返信

できました!
ありがとうございます

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -