Classe ListView (System.Windows.Forms)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe ListView

Aggiornamento: novembre 2007

Rappresenta un controllo visualizzazione elenco di Windows, nel quale viene rappresentato un insieme di elementi che è possibile visualizzare tramite una delle quattro visualizzazioni disponibili.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

Sintassi

Visual Basic - (Dichiarazione)
<ComVisibleAttribute(True)> _
<DockingAttribute(DockingBehavior.Ask)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class ListView _
	Inherits Control
Visual Basic (Utilizzo)
Dim instance As ListView
C#
[ComVisibleAttribute(true)]
[DockingAttribute(DockingBehavior.Ask)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class ListView : Control
Visual C++
[ComVisibleAttribute(true)]
[DockingAttribute(DockingBehavior::Ask)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class ListView : public Control
J#
/** @attribute ComVisibleAttribute(true) */
/** @attribute DockingAttribute(DockingBehavior.Ask) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class ListView extends Control
JScript
public class ListView extends Control
Note

Un controllo ListView consente di visualizzare un elenco di elementi con il testo degli elementi ed eventualmente un'icona per l'identificazione del tipo di elemento. L'aspetto dell'elenco dei file in Esplora risorse di Windows, ad esempio, è simile a quello di un controllo ListView, all'interno del quale viene visualizzato un elenco di file e cartelle attualmente selezionati all'interno della struttura. A ciascun file e a ciascuna cartella è associata un'icona che consente di individuarne il tipo. La classe ListViewItem rappresenta un elemento all'interno di un controllo ListView. È possibile visualizzare gli elementi presenti nell'elenco tramite una delle cinque visualizzazioni disponibili, ad esempio come icone grandi, icone piccole o icone piccole in un elenco verticale. Gli elementi possono essere anche associati a degli elementi secondari contenenti informazioni correlate all'elemento padre. La visualizzazione Dettagli consente di visualizzare l'elemento e i relativi elementi secondari all'interno di una griglia con intestazioni di colonna, in modo da individuare le informazioni associate a un elemento secondario. La visualizzazione affiancata, la cui disponibilità è limitata come descritto di seguito, consente di visualizzare l'elemento e i relativi elementi secondari come finestra contenente un'icona grande al lato delle informazioni testuali. La classe ListView supporta selezioni singole o multiple. La funzionalità di selezione multipla consente all'utente di selezionare gli elementi in un elenco in un modo simile a quello utilizzato in un controllo ListBox. L'utente può inoltre attivare gli elementi selezionati, al fine di eseguire un'attività. È possibile, ad esempio, utilizzare un controllo ListView per visualizzare un elenco di file da aprire e utilizzare nell'applicazione. In tal caso, l'utente può selezionare i file da aprire e fare doppio clic su di essi per attivarli e aprirli nell'applicazione. Nel controllo ListView possono anche essere visualizzate le caselle di controllo, tramite l'uso della proprietà CheckBoxes, in modo da consentire all'utente di selezionare gli elementi sui quali si desidera eseguire un'attività. È possibile utilizzare il controllo ListView in diversi modi, ad esempio, per visualizzare le informazioni da un'applicazione, un database o un file di testo. Il controllo ListView può anche essere utilizzato per ottenere informazioni dall'utente, ad esempio selezionando un insieme di file da elaborare.

ListView rende disponibili numerose proprietà che rendono flessibili l'aspetto e il funzionamento degli elementi. La proprietà View consente di modificare il modo in cui gli elementi vengono visualizzati. Le proprietà LargeImageList, SmallImageList e StateImageList consentono di specificare gli oggetti ImageList che contengono le immagini visualizzate per gli elementi e, nel caso della proprietà StateImageList, le caselle di controllo visualizzate quando la proprietà CheckBoxes è impostata su true. Per individuare gli elementi selezionati, è possibile utilizzare la proprietà CheckedItems per accedere all'insieme ListView.CheckedListViewItemCollection. La proprietà Columns consente di accedere alla classe ListView.ColumnHeaderCollection, nella quale sono memorizzate le intestazioni di colonna visualizzate quando la proprietà View del controllo è impostata su Details. Gli elementi vengono aggiunti al controllo ListView e rimossi da esso tramite la proprietà Items. La proprietà Items consente di accedere alla classe ListView.ListViewItemCollection del controllo, la quale fornisce i metodi per modificare gli elementi nel controllo. Per consentire all'utente di modificare il testo di un elemento, utilizzare la proprietà LabelEdit. Se gli elementi presenti in un controllo sono particolarmente numerosi, potrebbe risultare più semplice per l'utente visualizzarli in un elenco ordinato. È pertanto possibile utilizzare la proprietà Sorting per disporre gli elementi in ordine alfabetico. È inoltre possibile personalizzare completamente l'aspetto del controllo ListView. Per eseguire tale operazione, impostare la proprietà OwnerDraw su true e gestire uno o più dei seguenti eventi: DrawItem, DrawSubItem, DrawColumnHeader.

Molte proprietà del controllo ListView vengono utilizzate quando la proprietà View del controllo è impostata su Details. La proprietà AllowColumnReorder consente agli utenti che utilizzano il controllo ListView di riconfigurare l'ordine delle colonne in fase di esecuzione. La proprietà FullRowSelect consente di selezionare un elemento unitamente ai relativi elementi secondari. Per visualizzare le linee della griglia nella visualizzazione di dettaglio, al fine di individuare i limiti degli elementi e degli elementi secondari presenti nel controllo ListView, è possibile utilizzare la proprietà GridLines. La proprietà HeaderStyle consente di specificare il tipo di intestazione di colonna da visualizzare.

Un controllo ListView può operare in modalità virtuale, modalità in cui gli oggetti ListViewItem sono generati dinamicamente anziché essere memorizzati nell’insieme Items. Ciò può essere utile in presenza di elenchi di dimensioni molto grandi o di elenchi il cui contenuto cambia frequentemente. Per attivare la modalità virtuale, impostare la proprietà VirtualMode a true e gestire gli eventi RetrieveVirtualItem, CacheVirtualItems e SearchForVirtualItem.

Oltre alle numerose proprietà disponibili per un controllo ListView, esistono diversi metodi ed eventi che possono essere utilizzati nell'applicazione per fornire ulteriori funzionalità al controllo ListView. I metodi BeginUpdate e EndUpdate consentono di migliorare le prestazioni durante l'aggiunta di più elementi a una classe ListView evitando che il controllo venga ridisegnato ogni volta che viene aggiunto un elemento. Se nel controllo ListView vengono visualizzati gli elementi e gli elementi secondari, è possibile fare in modo che venga fornita una funzionalità quando l'utente fa clic con il pulsante destro del mouse su un elemento secondario. Per determinare l'elemento a cui appartiene l'elemento secondario su cui è stato fatto clic, è possibile utilizzare il metodo GetItemAt. Quando si esegue la convalida degli elementi, in seguito alle modifiche apportate dagli utenti, è possibile fare in modo che venga visualizzato un elemento specifico da modificare. È possibile, in tal caso, chiamare il metodo EnsureVisible per assicurarsi che l'elemento specifico si trovi nell'area visibile del controllo.

Se la proprietà LabelEdit è impostata su true, è possibile eseguire diverse attività, tra cui la convalida del testo in fase di modifica, da eseguire prima e dopo l'esecuzione delle modifiche, tramite la creazione di un gestore eventi per gli eventi BeforeLabelEdit e AfterLabelEdit. Per eseguire altre attività, ad esempio l'apertura di un file o di una finestra di dialogo per modificare un elemento visualizzato in un controllo ListView, è possibile creare un gestore eventi per l'evento ItemActivate. Nel caso in cui agli utenti è consentito ordinare gli elementi in un controllo ListView facendo clic su un'intestazione di colonna, è possibile creare un gestore eventi per l'evento ColumnClick, al fine di eseguire l'ordinamento. Se la proprietà CheckBoxes è impostata su true, è possibile determinare quando è stata apportata una modifica allo stato di selezione di un elemento, tramite la gestione dell'evento ItemCheck.

È inoltre possibile impostare un'immagine di sfondo per la classe ListView mediante la proprietà BackgroundImage. L'applicazione deve disporre della classe STAThreadAttribute sul proprio metodo Main per visualizzare correttamente l'immagine di sfondo per il controllo ListView. Inoltre, se un controllo ListView con un'immagine di sfondo verrà utilizzato in Internet Explorer, specificare il file comctl32.dll versione 6.0 come assembly dipendente nel file manifesto dell'applicazione, per accertarsi che l'immagine di sfondo venga visualizzata correttamente.

Nota:

L'impostazione della proprietà Cursor per un controllo ListView non ha effetto sull'aspetto del cursore in .NET Framework versione 1.1 e precedenti.

Windows XP e Windows Server 2003 forniscono tre funzionalità che migliorano il controllo ListView durante la chiamata al metodo Application.EnableVisualStyles da parte dell'applicazione: la visualizzazione affiancata, il raggruppamento e il segno di inserimento.

La visualizzazione affiancata consente di bilanciare le informazioni grafiche e testuali visualizzando il testo dell'elemento e degli elementi secondari accanto a icone grandi. Impostare la proprietà View su View.Tile per attivare questo comportamento.

La funzionalità di raggruppamento consente di raggruppare in modo visivo gli elementi in categorie correlate. Utilizzare la proprietà Groups per aggiungere oggetti ListViewGroup al controllo ListView se si desidera attivare questa funzionalità. Per disattivare temporaneamente la funzionalità, impostare la proprietà ShowGroups su false.

La funzionalità di segno di inserimento consente di utilizzare il riposizionamento degli elementi tramite trascinamento con indicazioni visive della destinazione finale. Utilizzare l'oggetto ListViewInsertionMark recuperato mediante la proprietà InsertionMark per visualizzare il punto di inserimento.

Queste funzionalità sono disponibili solo in Windows XP e Windows Server 2003. In piattaforme precedenti, il codice relativo a queste funzionalità non ha effetto, la visualizzazione affiancata appare come visualizzazione Icone grandi e il punto di inserimento e i gruppi non vengono visualizzati. In alcuni casi, potrebbe essere necessario includere del codice che determini se tali funzionalità sono disponibili e fornire funzionalità alternative nel caso non siano disponibili. Tali funzionalità sono disponibili nella stessa libreria che fornisce le funzionalità dei temi del sistema operativo. Per controllare la disponibilità di tale libreria, chiamare l'overload del metodo FeatureSupport.IsPresent(Object) e passare nel valore OSFeature.Themes.

Nella tabella riportata di seguito vengono illustrati alcuni dei membri ListView e le visualizzazioni in cui sono valide.

Membro ListView

Visualizzazione

Proprietà Alignment

SmallIcon oppure LargeIcon

Proprietà AutoArrange

SmallIcon oppure LargeIcon

Metodo AutoResizeColumn

Details

Proprietà Columns

Details oppure Tile

Evento DrawSubItem

Details

Metodo FindItemWithText

Details , List oppure Tile

Metodo FindNearestItem

SmallIcon oppure LargeIcon

Metodo GetItemAt

Details oppure Tile

Proprietà Groups

Tutte le visualizzazioni tranne List

Proprietà HeaderStyle

Details

Proprietà InsertionMark

LargeIcon , SmallIcon oppure Tile

Esempi

Nell'esempio di codice riportato di seguito viene creato un controllo ListView con tre oggetti ListViewItem specificati e tre oggetti ListViewItem.ListViewSubItem specificati per ciascun elemento. nonché alcuni oggetti ColumnHeader per la visualizzazione degli elementi secondari nella visualizzazione Dettagli. Nel codice di esempio vengono inoltre creati due oggetti ImageList che forniscono immagini per gli oggetti ListViewItem. Questi oggetti ImageList vengono aggiunti alle proprietà LargeImageList e SmallImageList. Nell'esempio vengono utilizzate le seguenti proprietà per la creazione del controllo ListView:

In questo esempio si presuppone che sia stato aggiunto il codice a una classe Form e che sia stato chiamato il metodo creato nell'esempio dal costruttore o un altro metodo nel form. Si presuppone inoltre che le immagini denominate MySmallImage1, MySmallImage2, MyLargeImage1 e MyLargeImage2 siano memorizzate nella directory principale dell'unità C.

Visual Basic
Private Sub CreateMyListView()
    ' Create a new ListView control.
    Dim listView1 As 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.
    Dim item1 As 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")
    Dim item2 As New ListViewItem("item2", 1)
    item2.SubItems.Add("4")
    item2.SubItems.Add("5")
    item2.SubItems.Add("6")
    Dim item3 As 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.
    Dim imageListSmall As New ImageList()
    Dim imageListLarge As 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.
    Me.Controls.Add(listView1)
End Sub 'CreateMyListView



C#
		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 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);
		}


Visual C++
private:
   void CreateMyListView()
   {
      // Create a new ListView control.
      ListView^ listView1 = gcnew ListView;
      listView1->Bounds = Rectangle(Point(10,10),System::Drawing::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 = gcnew 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 = gcnew ListViewItem( "item2",1 );
      item2->SubItems->Add( "4" );
      item2->SubItems->Add( "5" );
      item2->SubItems->Add( "6" );
      ListViewItem^ item3 = gcnew 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.
      array<ListViewItem^>^temp1 = {item1,item2,item3};
      listView1->Items->AddRange( temp1 );

      // Create two ImageList objects.
      ImageList^ imageListSmall = gcnew ImageList;
      ImageList^ imageListLarge = gcnew 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 );
   }


J#
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


Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.Control
        System.Windows.Forms.ListView
          Microsoft.Web.Management.Client.Win32.ListPageListView
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Piattaforme

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 per Smartphone, Windows Mobile per Pocket PC

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supportato in: 3.5, 2.0, 1.0
Vedere anche

Riferimenti