PDA

View Full Version : cho hỏi về thể hiện ảnh trên listview trong winform vb.net



hoduclong
14-10-2010, 23:00
mình đang học về winfrom trong vb.net,bạn nào biết cách đưa ảnh vào listview chỉ cho l với.thanks nhiều.!
mong hồi âm sớm^^

serivn
15-10-2010, 04:11
Bạn cần thực hiện các bước dưới đây để cho ảnh vào ListView:
1. Tạo một ListView bẳng cách kéo vào Form hoặc code ( Cài này là đương nhiên rồi lol)
2. Kéo vào Form 2 component ImageList và lần lượt đặt tên là SmallImageList và LargeImageList. 2 Imagelist này sẽ có nhiệm vụ để lưu trữ ảnh sẽ được hiện thị trong Listview. Vì Listview có một số chế độ hiển thị trong đó có 2 chế độ là SmallIcon và LargeIcon nên mình cần 2 Image (Nếu bạn dùng 1 ImageList cũng được, tuy nhiên do kích thước ảnh là khác nhau, và chất lượng cũng khác nhau nên bạn dùng 2 imagelist là hợp lý).
3. Lần lượt cho ảnh vào trong ImageList bằng cách chọn vào tam giác nhỏ phía trên bên phải của ImageList và chọn Choose Image... Sau bước này bạn đã có sẵ các Image muốn hiện thị trong Image List (chú ý bạn có thể thêm ảnh vào ImageList bằng code --> bạn tự tìm hiểu thêm về cái này).
4. Chọn ListView đã tạo ở bước 1, trong cửa sổ Properties lần lượt thiết lập giá trị cho thuộc tính SmallImageList và LargeImageList chính là 2 ImageList đã tạo ở bước 2.
5. Trong quá trình thực hiện thêm một ListViewItem vào trong ListView bạn chỉ cần thiết lập thuộc tính ImageIndex của ListViewItem bằng giá trị Index của Image nằm trong ImageList là OK (chú ý: Index này sẽ tuơng ưng là ảnh ở trong từng ImageList tuơng ứng khi ở chế độ SmallIcon và LargeIcon).

VD: mình muốn thiết lập ảnh hiện thị cho Item sẽ thêm là ảnh số 1 trong ImageList thì sẽ cần thực hiện:


ListViewItem item =new ListViewItem("Test");
item.ImageIndex= 1; //cho hiện thị ảnh có index 1 trong Imagelist
...
listView1.Items.Add(item); //thêm item vào trong listView

Code trên đây là C#, tuy nhiên VB.NET là tuơng tự, ko khác nhiều lắm...

OK, chúc bạn thành công!

hoduclong
17-10-2010, 23:27
Bạn viết dễ hiểu lắm.cảm ơn bạn rất nhiều.
nhưng mình muốn hỏi bạn thêm 1 câu nhé.
thêm ảnh vào imgelist bằng code như thế nào?
Mình thử code nhiều rồi mà báo lỗi.
bạn vd 1 cái cho mình với nha.
thank bạn lần nữa.

serivn
18-10-2010, 06:02
Cái này đơn giản thôi, giả sử bạn cần thêm ảnh vào ImageList nếu biết đường dẫn ảnh (đường dẫn ảnh có thể lấy được bằng cách sử dụng OpenFileDialog...).. ImageList cũng giống như các control hoặc Class có kiểu tập hợp nên có phương thức Add để thêm một Object vào tập hợp... Nếu bạn để ý thì sẽ thấy các control hay class có đặc điểm này như: Combobox, ListView, ListBox, ArrayList... => Với ImageList cũng tương tự bạn có thể sử dụng code như sau:


ImageList lst = new ImageList(); //ImageList có thể được tạo bằng kéo thả
lst.Images.Add(Image.FromFile("đường dẫn tới file ảnh"));