//MSDN里有啊private void CreateMyListView() { // Create a new ListView control. ListView listView1 = new ListView(); listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200)); // Set the view to show details. listView1.View = View.Details; // Allow the user to edit item text. listView1.LabelEdit = true; // Allow the user to rearrange columns. listView1.AllowColumnReorder = true; // Display check boxes. listView1.CheckBoxes = true; // Select the item and subitems when selection is made. listView1.FullRowSelect = true; // Display grid lines. listView1.GridLines = true; // Sort the items in the list in ascending order. listView1.Sorting = SortOrder.Ascending;
// Create three items and three sets of subitems for each item. ListViewItem item1 = new ListViewItem("item1",0); // Place a check next to the item. item1.Checked = true; item1.SubItems.Add("1"); item1.SubItems.Add("2"); item1.SubItems.Add("3"); ListViewItem item2 = new ListViewItem("item2",1); item2.SubItems.Add("4"); item2.SubItems.Add("5"); item2.SubItems.Add("6"); ListViewItem item3 = new ListViewItem("item3",0); // Place a check next to the item. item3.Checked = true; item3.SubItems.Add("7"); item3.SubItems.Add("8"); item3.SubItems.Add("9"); // Create columns for the items and subitems. listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center); //Add the items to the ListView. listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3}); // Create two ImageList objects. ImageList imageListSmall = new ImageList(); ImageList imageListLarge = new ImageList(); // Initialize the ImageList objects with bitmaps. imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp")); imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp")); imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp")); imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp")); //Assign the ImageList objects to the ListView. listView1.LargeImageList = imageListLarge; listView1.SmallImageList = imageListSmall; // Add the ListView to the control collection. this.Controls.Add(listView1); }
我这有一个VB实现的源代码,C#好像很难实现。
[email protected]
放个listview,imagelist加两个图片。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellCtrls, ComCtrls, ImgList;Const
LVM_FIRST = $1000;
LVM_GETHEADER = (LVM_FIRST + 31); HDI_IMAGE = $20;
HDI_FORMAT = $4; HDF_BITMAP_ON_RIGHT = $1000;
HDF_IMAGE = $800 ;
HDF_STRING = $4000; HDM_FIRST = $1200;
HDM_SETITEM = (HDM_FIRST + 4); HDF_LEFT = 0 ;
HDF_RIGHT = 1;
HDF_CENTER = 2;type enumShow = (bShow = -1, bHide = 0);type
HDITEM = record
mask : Integer;
cxy : Integer;
pszText : String;
hbm : Integer;
cchTextMax: Integer;
fmt : Integer;
lParam : Integer;
iImage : Integer;
iOrder : Integer;
End;type
TForm1 = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure ShowHeaderIcon(colNo: Integer; imgIconNo: Integer; bShowImage : enumShow; list : TListView; lAlignment: Integer);
var
lHeader: Integer;
HD : HDITEM;
begin
lHeader := SendMessage(list.Handle, LVM_GETHEADER, 0, 0);
With HD do
begin
mask := HDI_IMAGE Or HDI_FORMAT;
If bShowImage = bShow Then
begin
fmt := HDF_STRING Or HDF_IMAGE Or HDF_BITMAP_ON_RIGHT;
iImage := imgIconNo;
end
Else
fmt := HDF_STRING;
fmt := fmt Or lAlignment;
End;
SendMessage(lHeader, HDM_SETITEM, colNo, Integer(@HD));
End;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
//Column.Caption := '10000';
ShowHeaderIcon(Column.Index, Column.Index, bShow, Listview1, 0);
end;end.
也可以发我邮件
[email protected]
{
// Create a new ListView control.
ListView listView1 = new ListView();
listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200)); // Set the view to show details.
listView1.View = View.Details;
// Allow the user to edit item text.
listView1.LabelEdit = true;
// Allow the user to rearrange columns.
listView1.AllowColumnReorder = true;
// Display check boxes.
listView1.CheckBoxes = true;
// Select the item and subitems when selection is made.
listView1.FullRowSelect = true;
// Display grid lines.
listView1.GridLines = true;
// Sort the items in the list in ascending order.
listView1.Sorting = SortOrder.Ascending;
// Create three items and three sets of subitems for each item.
ListViewItem item1 = new ListViewItem("item1",0);
// Place a check next to the item.
item1.Checked = true;
item1.SubItems.Add("1");
item1.SubItems.Add("2");
item1.SubItems.Add("3");
ListViewItem item2 = new ListViewItem("item2",1);
item2.SubItems.Add("4");
item2.SubItems.Add("5");
item2.SubItems.Add("6");
ListViewItem item3 = new ListViewItem("item3",0);
// Place a check next to the item.
item3.Checked = true;
item3.SubItems.Add("7");
item3.SubItems.Add("8");
item3.SubItems.Add("9"); // Create columns for the items and subitems.
listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center); //Add the items to the ListView.
listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3}); // Create two ImageList objects.
ImageList imageListSmall = new ImageList();
ImageList imageListLarge = new ImageList(); // Initialize the ImageList objects with bitmaps.
imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp")); //Assign the ImageList objects to the ListView.
listView1.LargeImageList = imageListLarge;
listView1.SmallImageList = imageListSmall; // Add the ListView to the control collection.
this.Controls.Add(listView1);
}