操作說明:在 Windows Forms ListView 控制項中啟用並排顯示
使用的 ListView 控制項的並排顯示檢視功能,您可以提供圖形和文字資訊之間的視覺化平衡。 並排顯示檢視中針對項目顯示的文字資訊與詳細資料檢視所定義的資料行資訊相同。 並排顯示檢視與 ListView 控制項中的群組或插入標記功能相配合。
並排顯示檢視會使用 32 x 32 像素圖示和數行的文字,如下列影像所示。
若要啟用並排顯示檢視,請將 View 屬性設定為 Tile。 您可以藉由設定 TileSize 屬性調整並排顯示的大小,並藉由調整 Columns 集合來調整並排顯示中顯示的文字行數。
以程式設計方式設定並排顯示檢視
範例
下列完整的程式碼範例示範並排顯示檢視,並修改為可顯示三行文字。 已經調整並排顯示大小以避免自動換行。
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class ListViewTilingExample: public Form
{
private:
ImageList^ myImageList;
public:
ListViewTilingExample()
{
// Initialize myListView.
ListView^ myListView = gcnew ListView;
myListView->Dock = DockStyle::Fill;
myListView->View = View::Tile;
// Initialize the tile size.
myListView->TileSize = System::Drawing::Size( 400, 45 );
// Initialize the item icons.
myImageList = gcnew ImageList;
System::Drawing::Icon^ myIcon = gcnew System::Drawing::Icon( "book.ico" );
try
{
myImageList->Images->Add( myIcon );
}
finally
{
if ( myIcon )
delete safe_cast<IDisposable^>(myIcon);
}
myImageList->ImageSize = System::Drawing::Size( 32, 32 );
myListView->LargeImageList = myImageList;
// Add column headers so the subitems will appear.
array<ColumnHeader^>^temp0 = {gcnew ColumnHeader,gcnew ColumnHeader,gcnew ColumnHeader};
myListView->Columns->AddRange( temp0 );
// Create items and add them to myListView.
array<String^>^temp1 = {"Programming Windows","Petzold, Charles","1998"};
ListViewItem^ item0 = gcnew ListViewItem( temp1,0 );
array<String^>^temp2 = {"Code: The Hidden Language of Computer Hardware and Software","Petzold, Charles","2000"};
ListViewItem^ item1 = gcnew ListViewItem( temp2,0 );
array<String^>^temp3 = {"Programming Windows with C#","Petzold, Charles","2001"};
ListViewItem^ item2 = gcnew ListViewItem( temp3,0 );
array<String^>^temp4 = {"Coding Techniques for Microsoft Visual Basic .NET","Connell, John","2001"};
ListViewItem^ item3 = gcnew ListViewItem( temp4,0 );
array<String^>^temp5 = {"C# for Java Developers","Jones, Allen & Freeman, Adam","2002"};
ListViewItem^ item4 = gcnew ListViewItem( temp5,0 );
array<String^>^temp6 = {"Microsoft .NET XML Web Services Step by Step","Jones, Allen & Freeman, Adam","2002"};
ListViewItem^ item5 = gcnew ListViewItem( temp6,0 );
array<ListViewItem^>^temp7 = {item0,item1,item2,item3,item4,item5};
myListView->Items->AddRange( temp7 );
// Initialize the form.
this->Controls->Add( myListView );
this->Size = System::Drawing::Size( 430, 330 );
this->Text = "ListView Tiling Example";
}
protected:
// Clean up any resources being used.
~ListViewTilingExample()
{
if ( myImageList != nullptr )
{
delete myImageList;
}
}
};
[STAThread]
int main()
{
Application::EnableVisualStyles();
Application::Run( gcnew ListViewTilingExample );
}
using System;
using System.Drawing;
using System.Windows.Forms;
public class ListViewTilingExample : Form
{
private ImageList myImageList;
public ListViewTilingExample()
{
// Initialize myListView.
ListView myListView = new ListView();
myListView.Dock = DockStyle.Fill;
myListView.View = View.Tile;
// Initialize the tile size.
myListView.TileSize = new Size(400, 45);
// Initialize the item icons.
myImageList = new ImageList();
using (Icon myIcon = new Icon("book.ico"))
{
myImageList.Images.Add(myIcon);
}
myImageList.ImageSize = new Size(32, 32);
myListView.LargeImageList = myImageList;
// Add column headers so the subitems will appear.
myListView.Columns.AddRange(new ColumnHeader[]
{new ColumnHeader(), new ColumnHeader(), new ColumnHeader()});
// Create items and add them to myListView.
ListViewItem item0 = new ListViewItem( new string[]
{"Programming Windows",
"Petzold, Charles",
"1998"}, 0 );
ListViewItem item1 = new ListViewItem( new string[]
{"Code: The Hidden Language of Computer Hardware and Software",
"Petzold, Charles",
"2000"}, 0 );
ListViewItem item2 = new ListViewItem( new string[]
{"Programming Windows with C#",
"Petzold, Charles",
"2001"}, 0 );
ListViewItem item3 = new ListViewItem( new string[]
{"Coding Techniques for Microsoft Visual Basic .NET",
"Connell, John",
"2001"}, 0 );
ListViewItem item4 = new ListViewItem( new string[]
{"C# for Java Developers",
"Jones, Allen & Freeman, Adam",
"2002"}, 0 );
ListViewItem item5 = new ListViewItem( new string[]
{"Microsoft .NET XML Web Services Step by Step",
"Jones, Allen & Freeman, Adam",
"2002"}, 0 );
myListView.Items.AddRange(
new ListViewItem[] {item0, item1, item2, item3, item4, item5});
// Initialize the form.
this.Controls.Add(myListView);
this.Size = new System.Drawing.Size(430, 330);
this.Text = "ListView Tiling Example";
}
// Clean up any resources being used.
protected override void Dispose(bool disposing)
{
if (disposing)
{
myImageList.Dispose();
}
base.Dispose(disposing);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new ListViewTilingExample());
}
}
Imports System.Drawing
Imports System.Windows.Forms
Public Class ListViewTilingExample
Inherits Form
Private myImageList As ImageList
Public Sub New()
' Initialize myListView.
Dim myListView As New ListView()
myListView.Dock = DockStyle.Fill
myListView.View = View.Tile
' Initialize the tile size.
myListView.TileSize = new Size(400, 45)
' Initialize the item icons.
myImageList = New ImageList()
Dim myIcon as Icon = new Icon("book.ico")
Try
myImageList.Images.Add(myIcon)
Finally
myIcon.Dispose()
End Try
myIcon.Dispose()
myImageList.ImageSize = New Size(32, 32)
myListView.LargeImageList = myImageList
' Add column headers so the subitems will appear.
myListView.Columns.AddRange(New ColumnHeader() _
{New ColumnHeader(), New ColumnHeader(), New ColumnHeader()})
' Create items and add them to myListView.
Dim item0 As New ListViewItem( New String() _
{"Programming Windows", _
"Petzold, Charles", _
"1998"}, 0 )
Dim item1 As New ListViewItem( New String() _
{"Code: The Hidden Language of Computer Hardware and Software", _
"Petzold, Charles", _
"2000"}, 0 )
Dim item2 As New ListViewItem( New String() _
{"Programming Windows with C#", _
"Petzold, Charles", _
"2001"}, 0 )
Dim item3 As New ListViewItem( New String() _
{"Coding Techniques for Microsoft Visual Basic .NET", _
"Connell, John", _
"2001"}, 0 )
Dim item4 As New ListViewItem( New String() _
{"C# for Java Developers", _
"Jones, Allen / Freeman, Adam", _
"2002"}, 0 )
Dim item5 As New ListViewItem( New String() _
{"Microsoft .NET XML Web Services Step by Step", _
"Jones, Allen / Freeman, Adam", _
"2002"}, 0 )
myListView.Items.AddRange( _
New ListViewItem() {item0, item1, item2, item3, item4, item5})
' Initialize the form.
Me.Controls.Add(myListView)
Me.Size = new System.Drawing.Size(430, 330)
Me.Text = "ListView Tiling Example"
End Sub
' Clean up any resources being used.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If (disposing) Then
myImageList.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New ListViewTilingExample())
End Sub
End Class
編譯程式碼
這個範例需要:
本系統和 System.Windows.Forms 組件的參考。
名為 book.ico 的圖示檔,位於與可執行檔相同的目錄中。