[C#, WinForm] ImageList 채우기 및 ListView 와 연동하기 (Stream, ListViewItem)
C# 2008. 1. 7. 14:40 |이미지는 웹 iis 쪽에 있으며 그 이미지를 ImageList에 Form_Load() 시에 추가하고 Listview에 연결한 후에 item을 추가 한 코드 예제 입니다.
string[] filepathlist =
{
"http://localhost:8888/_01.gif",
"http://localhost:8888/_01.gif",
"http://localhost:8888/_02.gif",
"http://localhost:8888/_03.gif",
};
int count = 0; // Item 이름을 위한 임시 변수
foreach (string path in filepathlist)
{
// WebClient 를 사용해서 원격 이미지를 로드 하고 Stream에 Write 한다.
WebClient client = new WebClient();
byte[] myDataBuffer = client.DownloadData(path);
Stream stream = new MemoryStream();
stream.Write(myDataBuffer, 0, myDataBuffer.Length);
// Bitmap에 Stream을 입력 하고 ImageList에 등록한다.
Bitmap bmp = new Bitmap(stream);
this.imageList1.Images.Add(bmp);
int idx = this.imageList1.Images.Keys.Count - 1;
this.imageList1.Images.SetKeyName(idx, "");
// ListViewItem에 값을 채우고 ListView에 추가 한다.
ListViewItem listviewitem = new ListViewItem("test" + count.ToString(), idx);
this.listView1.Items.Add(listviewitem);
count++;
}