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

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

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

Re[2]: ListViewのSubitemにアイコン表示


(過去ログ 116 を表示中)

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

■68360 / inTopicNo.1)  ListViewのSubitemにアイコン表示
  
□投稿者/ マーク (1回)-(2013/10/16(Wed) 13:37:58)

分類:[C#] 

2013/10/16(Wed) 14:03:45 編集(投稿者)

Win7 64bit C# .net3.5

お世話になります。
ListView のDetail表示でサブアイテムにアイコンやビットマップなどのイメージを表示したいです。
以下のようにしてみましたがアイコン表示できませんでした。

public partial class ListViewCustom : ListView
{
public ListViewCustom()
{
InitializeComponent();
}

public ListViewCustom(IContainer container)
{
container.Add(this);

InitializeComponent();
}

Icon icn = new Icon(@"C:\Users\hoge\Desktop\BMP\eye.ico");

private void ListViewCustom_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
if(e.ColumnIndex==0)
{
e.Graphics.FillRectangle(
SystemBrushes.Highlight,
e.Bounds);
e.Graphics.DrawString(
e.SubItem.Text,
e.Item.Font,
SystemBrushes.HighlightText,
e.Bounds);
return;
}
else
{
e.Graphics.DrawIcon(icn, 0, 0);
return;
}

}

private void ListViewCustom_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
e.DrawDefault = true;
}
}

以下のサンプルですが、「.NET 2.0 Only」との記載があり、正常に動作しませんでした。
http://www.codeproject.com/Articles/7630/ListView-with-Image-on-SubItems

どちら様かご教示のほど、よろしくお願いします。
引用返信 編集キー/
■68370 / inTopicNo.2)  Re[1]: ListViewのSubitemにアイコン表示
□投稿者/ shu (398回)-(2013/10/17(Thu) 07:51:39)
No68360 (マーク さん) に返信

イベントの割り当てをしていますでしょうか?

派生させた場合はイベントよりも
OnDrawSubItemなどをoverrideさせた方がよいです。

Iconの描画は(0,0)ではなくe.Bounds内に描画するようにしないと駄目です。
引用返信 編集キー/
■68373 / inTopicNo.3)  Re[2]: ListViewのSubitemにアイコン表示
□投稿者/ マーク (2回)-(2013/10/17(Thu) 10:36:45)
shu様

> Iconの描画は(0,0)ではなくe.Bounds内に描画するようにしないと駄目です。


お世話になります。
座標をe.Bounds内で指定することで描画されました。
とても助かりました。

ありがとうございましたm(__)m。

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


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

このトピックに書きこむ

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

管理者用

- Child Tree -