2010-12-06 6 views
0

私はこのようなものを持っている:これはコンパイルされ、エラーなしで実行されますが、何らかの理由でアイコンが表示されていないSystem.Drawing.IconをSplitterPanelに描画する方法は?

var systemIcon = SystemIcons.Information; 
verticalSplitPanel.SplitterDistance = systemIcon.Width; 

var g = verticalSplitPanel.Panel1.CreateGraphics(); 
g.DrawIcon(systemIcon, 0, 0); 

var systemIcon = SystemIcons.Information; 
verticalSplitPanel.SplitterDistance = systemIcon.Width; 

var g = verticalSplitPanel.Panel1.CreateGraphics(); 
g.DrawImage(systemIcon.ToBitmap(), 0, 0); 

再びそれがコンパイルし、エラーなしで実行されますが、アイコンは表示されません。

は、私はまた、これは試してみました。

このアイコンを表示するにはどうすればよいですか?

答えて

1

コードはパネルのサーフェス上にアイコンをペイントできますが、パネルがパネルを再ペイントすると決めるとクリアされます。 GraphicsオブジェクトをverticalSplitPanel.Panel1.CreateGraphics()から呼び出す代わりに、パネルのPaintイベントを処理し、そのイベント引数で提供されるGraphicsオブジェクトを使用する必要があります。

これを試してみてください:

verticalSplitPanel.Panel1.Paint += (s, eargs) => 
    { 
     var icon = SystemIcons.Information; 
     eargs.Graphics.DrawIcon(icon, 0, 0); 
    }; 
関連する問題