ListView.ItemCheck ListView.ItemCheck ListView.ItemCheck ListView.ItemCheck Event

Définition

Se produit lorsque l'état d'activation d'un élément change.Occurs when the check state of an item changes.

public:
 event System::Windows::Forms::ItemCheckEventHandler ^ ItemCheck;
public event System.Windows.Forms.ItemCheckEventHandler ItemCheck;
member this.ItemCheck : System.Windows.Forms.ItemCheckEventHandler 
Public Custom Event ItemCheck As ItemCheckEventHandler 

Exemples

L’exemple de code suivant illustre un ListView contrôle activé qui gère ItemCheck l’événement.The following code example demonstrates a checked ListView control that handles the ItemCheck event. La méthode utilise les ItemCheckEventArgs.CurrentValue propriétés ItemCheckEventArgs.Index et pour récupérer et calculer le prix des éléments de menu sélectionnés.The method uses the ItemCheckEventArgs.CurrentValue and ItemCheckEventArgs.Index properties to retrieve and tally the price of the menu items selected. Pour exécuter cet exemple, collez le code suivant dans un formulaire contenant ListView un ListView1 nommé et TextBox un Textbox1nommé.To run this example, paste the following code into a form containing a ListView named ListView1 and a TextBox named Textbox1. Appelez la InitializeListView méthode à partir du constructeur ou Load de la méthode du formulaire.Call the InitializeListView method from the form's constructor or Load method. Assurez- ItemCheck vous que l’événement est associé au gestionnaire d’événements dans cet exemple.Ensure that the ItemCheck event is associated with the event handler in this example.

void InitializeListView()
{
   this->ListView1 = gcnew System::Windows::Forms::ListView;
   
   // Set properties such as BackColor and DockStyle and Location.
   this->ListView1->BackColor = System::Drawing::SystemColors::Control;
   this->ListView1->Dock = System::Windows::Forms::DockStyle::Top;
   this->ListView1->Location = System::Drawing::Point( 0, 0 );
   this->ListView1->Size = System::Drawing::Size( 292, 130 );
   this->ListView1->View = System::Windows::Forms::View::Details;
   this->ListView1->HideSelection = false;
   
   // Allow the user to select multiple items.
   this->ListView1->MultiSelect = true;
   
   // Show CheckBoxes in the ListView.
   this->ListView1->CheckBoxes = true;
   
   //Set the column headers and populate the columns.
   ListView1->HeaderStyle = ColumnHeaderStyle::Nonclickable;
   ColumnHeader^ columnHeader1 = gcnew ColumnHeader;
   columnHeader1->Text = "Breakfast Choices";
   columnHeader1->TextAlign = HorizontalAlignment::Left;
   columnHeader1->Width = 146;
   ColumnHeader^ columnHeader2 = gcnew ColumnHeader;
   columnHeader2->Text = "Price Each";
   columnHeader2->TextAlign = HorizontalAlignment::Center;
   columnHeader2->Width = 142;
   this->ListView1->Columns->Add( columnHeader1 );
   this->ListView1->Columns->Add( columnHeader2 );
   array<String^>^foodList = {"Juice","Coffee","Cereal & Milk","Fruit Plate","Toast & Jelly","Bagel & Cream Cheese"};
   array<String^>^foodPrice = {"1.09","1.09","2.19","2.79","2.09","2.69"};
   int count;
   
   // Members are added one at a time, so call BeginUpdate to ensure 
   // the list is painted only once, rather than as each list item is added.
   ListView1->BeginUpdate();
   for ( count = 0; count < foodList->Length; count++ )
   {
      ListViewItem^ listItem = gcnew ListViewItem( foodList[ count ] );
      listItem->SubItems->Add( foodPrice[ count ] );
      ListView1->Items->Add( listItem );
   }
   
   //Call EndUpdate when you finish adding items to the ListView.
   ListView1->EndUpdate();
   this->Controls->Add( this->ListView1 );
}
private void InitializeListView()
{
	this.ListView1 = new System.Windows.Forms.ListView();

	// Set properties such as BackColor and DockStyle and Location.
	this.ListView1.BackColor = System.Drawing.SystemColors.Control;
	this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
	this.ListView1.Location = new System.Drawing.Point(0, 0);
	this.ListView1.Size = new System.Drawing.Size(292, 130);
	this.ListView1.View = System.Windows.Forms.View.Details;
	this.ListView1.HideSelection = false;

	// Allow the user to select multiple items.
	this.ListView1.MultiSelect = true;

	// Show CheckBoxes in the ListView.
	this.ListView1.CheckBoxes = true;
	
	//Set the column headers and populate the columns.
	ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
	
	ColumnHeader columnHeader1 = new ColumnHeader();
	columnHeader1.Text = "Breakfast Choices";
	columnHeader1.TextAlign = HorizontalAlignment.Left;
	columnHeader1.Width = 146;

	ColumnHeader columnHeader2 = new ColumnHeader();
	columnHeader2.Text = "Price Each";
	columnHeader2.TextAlign = HorizontalAlignment.Center;
	columnHeader2.Width = 142;

      	this.ListView1.Columns.Add(columnHeader1);
	this.ListView1.Columns.Add(columnHeader2);

	string[] foodList = new string[]{"Juice", "Coffee", 
		"Cereal & Milk", "Fruit Plate", "Toast & Jelly", 
		"Bagel & Cream Cheese"};

	string[] foodPrice = new string[]{"1.09", "1.09", "2.19", 
		"2.79", "2.09", "2.69"};
	
	int count;

	// Members are added one at a time, so call BeginUpdate to ensure 
	// the list is painted only once, rather than as each list item is added.
	ListView1.BeginUpdate();

	for(count = 0; count < foodList.Length; count++)
	{
		ListViewItem listItem = new ListViewItem(foodList[count]);
		listItem.SubItems.Add(foodPrice[count]);
		ListView1.Items.Add(listItem);
	}

	//Call EndUpdate when you finish adding items to the ListView.
	ListView1.EndUpdate();
	this.Controls.Add(this.ListView1);
}
Private Sub InitializeListView()
    Me.ListView1 = New System.Windows.Forms.ListView

    ' Set properties such as BackColor, Location and Size
    Me.ListView1.BackColor = System.Drawing.SystemColors.Control
    Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
    Me.ListView1.Location = New System.Drawing.Point(0, 0)
    Me.ListView1.Size = New System.Drawing.Size(292, 130)
    Me.ListView1.View = System.Windows.Forms.View.Details
    Me.ListView1.HideSelection = False

    ' Allow user to select multiple items.
    Me.ListView1.MultiSelect = True

    ' Show check boxes in the ListView.
    Me.ListView1.CheckBoxes = True

    'Set the column headers and populate the columns.
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
    Dim columnHeader1 As New ColumnHeader
    With columnHeader1
        .Text = "Breakfast Choices"
        .TextAlign = HorizontalAlignment.Left
        .Width = 146
    End With
    Dim columnHeader2 As New ColumnHeader
    With columnHeader2
        .Text = "Price Each"
        .TextAlign = HorizontalAlignment.Center
        .Width = 142
    End With
    Me.ListView1.Columns.Add(columnHeader1)
    Me.ListView1.Columns.Add(columnHeader2)
    Dim foodList() As String = New String() {"Juice", "Coffee", _
        "Cereal & Milk", "Fruit Plate", "Toast & Jelly", _
        "Bagel & Cream Cheese"}

    Dim foodPrice() As String = New String() {"1.09", "1.09", "2.19", _
        "2.79", "2.09", "2.69"}
    Dim count As Integer

    ' Members are added one at a time, so call BeginUpdate to ensure 
    ' the list is painted only once, rather than as each list item is added.
    ListView1.BeginUpdate()

    For count = 0 To foodList.Length - 1
        Dim listItem As New ListViewItem(foodList(count))
        listItem.SubItems.Add(foodPrice(count))
        ListView1.Items.Add(listItem)
    Next

    'Call EndUpdate when you finish adding items to the ListView.
    ListView1.EndUpdate()
    Me.Controls.Add(Me.ListView1)
End Sub
double price;

// Handles the ItemCheck event. The method uses the CurrentValue
// property of the ItemCheckEventArgs to retrieve and tally the  
// price of the menu items selected.  
void ListView1_ItemCheck1( Object^ /*sender*/, System::Windows::Forms::ItemCheckEventArgs^ e )
{
   if ( e->CurrentValue == CheckState::Unchecked )
   {
      price += Double::Parse( this->ListView1->Items[ e->Index ]->SubItems[ 1 ]->Text );
   }
   else
   if ( (e->CurrentValue == CheckState::Checked) )
   {
      price -= Double::Parse( this->ListView1->Items[ e->Index ]->SubItems[ 1 ]->Text );
   }


   
   // Output the price to TextBox1.
   TextBox1->Text = price.ToString();
}
double price = 0.0;

// Handles the ItemCheck event. The method uses the CurrentValue
// property of the ItemCheckEventArgs to retrieve and tally the  
// price of the menu items selected.  
private void ListView1_ItemCheck1(object sender, 
	System.Windows.Forms.ItemCheckEventArgs e)
{
	if (e.CurrentValue==CheckState.Unchecked)
	{
		price += Double.Parse(
			this.ListView1.Items[e.Index].SubItems[1].Text);
	}
	else if((e.CurrentValue==CheckState.Checked))
	{
		price -= Double.Parse(
			this.ListView1.Items[e.Index].SubItems[1].Text);
	}

	// Output the price to TextBox1.
	TextBox1.Text = price.ToString();
}
Dim price As Double = 0.0

' Handles the ItemChecked event. The method uses the CurrentValue property 
' of the ItemCheckEventArgs to retrieve and tally the price of the menu 
' items selected.  
Private Sub ListView1_ItemCheck1(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
    Handles ListView1.ItemCheck

    If (e.CurrentValue = CheckState.Unchecked) Then
        price += Double.Parse( _
        Me.ListView1.Items(e.Index).SubItems(1).Text)
    ElseIf (e.CurrentValue = CheckState.Checked) Then
        price -= Double.Parse( _
            Me.ListView1.Items(e.Index).SubItems(1).Text)
    End If

    ' Output the price to TextBox1.
    TextBox1.Text = CType(price, String)

End Sub

Remarques

La CheckBoxes propriété doit avoir la valeur true pour que les cases à cocher soient affichées en regard de chaque élément ListView dans le contrôle.The CheckBoxes property must be set to true in order for check boxes to be displayed next to each item in the ListView control. L' ItemCheck événement se produit lorsque l’état d’activation d’un élément change ou CheckBoxes lorsque la propriété a truela valeur.The ItemCheck event occurs when the check state of an item changes or when the CheckBoxes property is set to true. Vous pouvez créer un gestionnaire d’événements pour ItemCheck l’événement afin d’effectuer des tâches telles que la modification de l’état de l’icône d’un élément ou d’une autre tâche spécifique à l' ListView application chaque fois qu’un élément est archivé dans le contrôle.You can create an event handler for the ItemCheck event to perform tasks such as changing the state of an item's icon or another application-specific task each time an item is checked in the ListView control.

Notes

Si le handle de fenêtre n’a pas été créé ItemCheck lorsque l’événement est déclenché, l’événement est retardé.If the window handle has not been created when the ItemCheck event is raised, the event will be delayed. Une fois le handle de fenêtre créé (lorsque le formulaire est affiché), tous ItemCheck les événements retardés sont déclenchés.Once the window handle is created (when the form is shown), any delayed ItemCheck events will be raised. Pour plus d'informations, consultez HandleCreated.For more information, see HandleCreated.

Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.For more information about handling events, see Handling and Raising Events.

S’applique à

Voir aussi