Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações. |
Tradução
Original
|
Classe ListView
Representa um controle de exibição de lista do Windows, que exibe uma coleção de itens que podem ser exibidos usando um dos quatro diferentes modos de exibição.
Assembly: System.Windows.Forms (em System.Windows.Forms.dll)
A ListView controle permite que você exibir uma lista de itens com texto do item e, opcionalmente, um ícone para identificar o tipo de item. Por exemplo, a lista de arquivos Windows Explorer é semelhante em aparência para um ListView controle. Ele exibe uma lista de arquivos e pastas atualmente selecionadas na árvore. Cada arquivo e pasta exibe um ícone associado a ele para ajudar a identificar o tipo de arquivo ou pasta. The ListViewItem classe representa um item dentro de um ListView controle. Os itens que são exibidos na lista podem ser mostrados em um dos cinco modos de exibição diferentes. Itens podem ser exibidos sistema autônomo ícones grandes, sistema autônomo ícones pequenos ou sistema autônomo ícones pequenos em uma lista vertical. Itens também podem ter subitens que contêm informações relacionadas ao item pai. A exibição de detalhes permite exibir o item e seus subitens em uma grade com cabeçalhos de coluna que identificam as informações sejam exibidas em um subitem. O modo de exibição organizar organizar lado a lado a organizar lado a lado, foi limitado a disponibilidade conforme descrito abaixo, permite exibir o item e seus subitens sistema autônomo um bloco gráfico que contém um ícone grande ao organizar lado a lado de informações textuais. ListView oferece suporte a único ou uma seleção múltipla. O recurso de seleção várias permite que o usuário selecionar a partir de uma lista de itens de forma semelhante a um ListBox controle. Além disso, o usuário pode ativar os itens selecionados para executar uma tarefa. Por exemplo, você pode usar um ListView controle para exibir uma lista de arquivos que o aplicativo pode em em aberto e, em seguida, utilizar. O usuário pode selecionar os arquivos para em em aberto e, em seguida, clicar duas vezes para ativar os itens e em em aberto os arquivos do aplicativo. The ListView também pode exibir caixas de seleção, usando o CheckBoxes propriedade para permitir que o usuário verificar os itens que deseja executar uma ação no. Você pode usar o ListView controle de várias maneiras. O controle pode ser usado para exibir informações de um aplicativo, um banco de dados ou um arquivo de texto. The ListView também pode ser usado para obter informações do usuário, sistema autônomo selecionar um conjunto de arquivos para processar.
ListView fornece grande várias propriedades que fornecem flexibilidade na aparência e comportamento. The View propriedade permite que você altere a maneira como itens são exibidos. The LargeImageList, SmallImageList, e StateImageList propriedades permitem que você especifique a ImageList objetos que contêm as imagens exibidas para itens e, em caso da StateImageList, as caixas de seleção são exibidas quando o CheckBoxes propriedade é conjunto para true. Para determinar quais itens estão marcados, você pode usar o CheckedItems propriedade acesso o ListView.CheckedListViewItemCollection coleção. The Columns propriedade permite o acesso a ListView.ColumnHeaderCollection, que armazena os cabeçalhos de coluna são exibidos quando o View propriedade do controle é conjunto para Details. Itens são adicionados e removidos o ListView por meio do Items propriedade. The Items propriedade permite que você acesse o ListView.ListViewItemCollection do controle, que fornece métodos para manipular itens no controle. Se você quiser permitir que o usuário edite o texto de um item, você pode usar o LabelEdit propriedade. Quando o controle contém um grande número de itens, geralmente é mais fácil para que o usuário vê-los em uma lista classificada. Você pode usar o Sorting propriedade para classificar os itens em ordem alfabética. Você pode também completamente personalizar a aparência de um ListView controle. Para fazer isso, conjunto o OwnerDraw propriedade para true e lidar com um ou mais dos seguintes eventos: DrawItem, DrawSubItem, DrawColumnHeader.
Muitas das propriedades do ListView controle são usadas quando o View propriedade do controle é conjunto para Details. The AllowColumnReorder propriedade permite que o usuário do seu ListView controle para redefinir a ordem das colunas em time de execução. The FullRowSelect propriedade permite que um item e seus subitens a ser selecionado em vez de apenas o item. Para exibir linhas de grade do modo de exibição de detalhes para identificar os limites de itens e subitens no ListView, você pode usar o GridLines propriedade. The HeaderStyle propriedade permite que você especifique o tipo de cabeçalhos de coluna para exibir.
A ListView controle pode operar no modo virtual, onde ListViewItem objetos serão gerados dinamicamente em vez de serem armazenados na Items coleção. Isso pode ser útil para lidar com grandes listas ou lista cujo Sumário freqüentemente alterar. Para ativar o modo virtual, conjunto o VirtualMode propriedade para true e lidar com o RetrieveVirtualItem, CacheVirtualItems, e SearchForVirtualItem eventos.
Juntamente com muitas propriedades que estão disponível para um ListView controle, há métodos e eventos que o aplicativo pode usar para fornecer recursos adicionais para o ListView. The BeginUpdate e EndUpdate métodos permitem melhorar o desempenho quando você adicionar vários itens para um ListView impedindo que o controle redesenho sempre que um item é adicionado. Se seu ListView controle está exibindo itens e subitens, convém fornecer funcionalidade quando o usuário clica com o botão direito do mouse um subitem. Para determinar o item cujo subitem está sendo clicado, você pode usar o GetItemAt método. Ao executar a validação dos itens depois que o usuário tiver editado-los, é aconselhável exibir um item específico para o usuário altere. The EnsureVisible método pode ser chamado para garantir que o item específico esteja na área visível do controle.
Se o LabelEdit conjunto de propriedades sistema autônomo true, você pode executar tarefas, sistema autônomo o texto que está sendo editado antes e depois do texto alterado por criação de um manipulador de evento para validar o BeforeLabelEdit e AfterLabelEdit eventos. Para executar tarefas sistema autônomo abrir um arquivo ou exibir uma caixa de diálogo para edição um item exibido em um ListView, você pode criar um manipulador de eventos para o ItemActivate evento. Se você permitir ao usuário classificar itens em um ListView Quando eles clicarem em um cabeçalho de coluna, você pode criar um manipulador de eventos para o ColumnClick evento para executar a classificação. Quando o CheckBoxes propriedade estiver definida como true, você pode determinar quando ocorreu uma alterar no estado de seleção do item pelo tratamento de ItemCheck evento.
Você também pode conjunto uma imagem de plano de fundo para o ListView com o BackgroundImage propriedade. Seu aplicativo deve ter o STAThreadAttribute no seu Main método para exibir corretamente a imagem de plano de fundo para o ListView controle. Além disso, se um ListView controle com uma imagem de plano de fundo é hospedado no Internet Explorer, especifique comctl32.dll versão 6.0 sistema autônomo um conjunto dependente no arquivo de manifesto do aplicativo para garantir a imagem de plano de fundo a propriedade exibida.
Observação:
|
|---|
|
configuração o Cursor propriedade para um ListView controle não tem efeito na aparência do cursor em .NET Framework versões 1.1 e anteriores. |
O Windows XP e Windows servidor 2003 fornecem três recursos que aperfeiçoam o ListView controlar quando o aplicativo chama o Application.EnableVisualStyles método: organizar organizar lado a lado a organizar lado a lado de modo de exibição, agrupamento e a marca de inserção.
O modo de exibição organizar organizar lado a lado a organizar lado a lado permite equilibrar informações textuais e gráficas exibindo texto item e subitem ao organizar lado a lado de ícones grandes. conjunto o View propriedade para View.Tile Para habilitar esse comportamento.
O recurso de agrupamento permite que você visualmente agrupar itens em categorias relacionadas. Use o Groups propriedade a ser adicionada ListViewGroup objetos para o ListView Quando você deseja habilitar esse recurso de controle. Para desabilitar temporariamente o recurso, conjunto o ShowGroups propriedade para false.
O recurso marca de inserção permite que você forneça o reposicionamento de itens por arrastar-e-soltar com feedback visual indicando locais para soltar. Use o ListViewInsertionMark objeto recuperado por meio do InsertionMark propriedade para exibir a marca de inserção.
Esses recursos estão disponível somente no Windows XP e Windows servidor 2003. Em plataformas anteriores, o código relativas a esses recursos não tem efeito, o modo de exibição organizar organizar lado a lado a organizar lado a lado é exibido sistema autônomo o modo de exibição de ícones grandes e a marca de inserção e grupos não são exibidos. Em alguns casos, você pode incluir o código que determina se esses recursos estão disponível e fornecem funcionalidade alternativa quando eles não estiverem disponível. Esses recursos são fornecidos pela mesma biblioteca que fornece o recurso de temas do sistema operacional. Para verificar a disponibilidade desta biblioteca, chame o FeatureSupport.IsPresent(Object) método de sobrecarga e passar a OSFeature.Themes valor.
A tabela a seguir mostra alguns do ListView os membros e os modos de exibição são válido em.
|
Membro de ListView |
View |
|---|---|
|
Propriedade Alignment |
SmallIcon ou LargeIcon |
|
Propriedade AutoArrange |
SmallIcon ou LargeIcon |
|
Método AutoResizeColumn |
Details |
|
Propriedade Columns |
Details ou Tile |
|
Evento DrawSubItem |
Details |
|
Método FindItemWithText |
Details, List, ou Tile |
|
Método FindNearestItem |
SmallIcon ou LargeIcon |
|
Método GetItemAt |
Details ou Tile |
|
Propriedade Groups |
Todos os modos de exibição, exceto List |
|
Propriedade HeaderStyle |
Details |
|
Propriedade InsertionMark |
LargeIcon, SmallIcon, ou Tile |
O exemplo de código a seguir cria um ListView controlar com três ListViewItem objetos especificados e três ListViewItem.ListViewSubItem objetos especificados para cada item. O exemplo também cria ColumnHeader objetos para exibir os subitens no modo de exibição de detalhes. Two ImageList objetos também são criados no exemplo de código para fornecer imagens para o ListViewItem objetos. Esses ImageList os objetos são adicionados para o LargeImageList e SmallImageList Propriedades. O exemplo utiliza as seguintes propriedades na criação de ListView controle:
Este exemplo requer que você adicionou o código para um Form e chame o método criado no exemplo de construtor ou outro método no formulário. O exemplo também requer que imagens nomeada MySmallImage1, MySmallImage2, MyLargeImage1, e MyLargeImage2 localizado no diretório raiz da unidade C.
privatevoid 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 mark 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 mark 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);
}
private void CreateMyListView()
{
// Create a new ListView control.
ListView listView1 = new ListView();
listView1.set_Bounds(new Rectangle(new Point(10, 10),
new Size(300, 200)));
// Set the view to show details.
listView1.set_View(View.Details);
// Allow the user to edit item text.
listView1.set_LabelEdit(true);
// Allow the user to rearrange columns.
listView1.set_AllowColumnReorder(true);
// Display check boxes.
listView1.set_CheckBoxes(true);
// Select the item and subitems when selection is made.
listView1.set_FullRowSelect(true);
// Display grid lines.
listView1.set_GridLines(true);
// Sort the items in the list in ascending order.
listView1.set_Sorting(SortOrder.Ascending);
// Create three items and three sets of subitems for each item.
ListViewItem item1 = new ListViewItem("item1", 0);
// Place a check mark next to the item.
item1.set_Checked(true);
item1.get_SubItems().Add("1");
item1.get_SubItems().Add("2");
item1.get_SubItems().Add("3");
ListViewItem item2 = new ListViewItem("item2", 1);
item2.get_SubItems().Add("4");
item2.get_SubItems().Add("5");
item2.get_SubItems().Add("6");
ListViewItem item3 = new ListViewItem("item3", 0);
// Place a check mark next to the item.
item3.set_Checked(true);
item3.get_SubItems().Add("7");
item3.get_SubItems().Add("8");
item3.get_SubItems().Add("9");
// Create columns for the items and subitems.
listView1.get_Columns().Add("Item Column", -2,
HorizontalAlignment.Left);
listView1.get_Columns().Add("Column 2", -2, HorizontalAlignment.Left);
listView1.get_Columns().Add("Column 3", -2, HorizontalAlignment.Left);
listView1.get_Columns().Add("Column 4", -2, HorizontalAlignment.Center);
//Add the items to the ListView.
listView1.get_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.get_Images().Add(Bitmap.FromFile(
"C:\\MySmallImage1.bmp"));
imageListSmall.get_Images().Add(Bitmap.FromFile(
"C:\\MySmallImage2.bmp"));
imageListLarge.get_Images().Add(Bitmap.FromFile(
"C:\\MyLargeImage1.bmp"));
imageListLarge.get_Images().Add(Bitmap.FromFile(
"C:\\MyLargeImage2.bmp"));
//Assign the ImageList objects to the ListView.
listView1.set_LargeImageList(imageListLarge);
listView1.set_SmallImageList(imageListSmall);
// Add the ListView to the control collection.
this.get_Controls().Add(listView1);
} //CreateMyListView
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ListView
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.
Observação: