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

Определение

Происходит при изменении состояния флажка элемента.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 

Примеры

В следующем примере кода показано, извлеченный ListView управления, обрабатывающий ItemCheck событий.The following code example demonstrates a checked ListView control that handles the ItemCheck event. Данный метод использует ItemCheckEventArgs.CurrentValue и ItemCheckEventArgs.Index свойства для получения и регистрировались цена выбранных элементов меню.The method uses the ItemCheckEventArgs.CurrentValue and ItemCheckEventArgs.Index properties to retrieve and tally the price of the menu items selected. Чтобы выполнить этот пример, вставьте следующий код в форму, содержащую ListView с именем ListView1 и TextBox с именем Textbox1.To run this example, paste the following code into a form containing a ListView named ListView1 and a TextBox named Textbox1. Вызовите InitializeListView метод из конструктора формы или Load метод.Call the InitializeListView method from the form's constructor or Load method. Убедитесь, что ItemCheck событие связано с обработчиком событий в этом примере.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

Комментарии

CheckBoxes Свойству должно быть присвоено значение true, в порядке для флажков для отображения рядом с каждым элементом в ListView элемента управления.The CheckBoxes property must be set to true in order for check boxes to be displayed next to each item in the ListView control. ItemCheck Событие возникает при изменении состояния флажка элемента или CheckBoxes свойству true.The ItemCheck event occurs when the check state of an item changes or when the CheckBoxes property is set to true. Можно создать обработчик событий для ItemCheck событию для выполнения задач, таких как изменение состояния значка элемента или другой задачи, относящиеся к приложению при каждом возврате элемента ListView элемента управления.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.

Примечание

Если дескриптор не был создан при ItemCheck события, события будет отложено.If the window handle has not been created when the ItemCheck event is raised, the event will be delayed. После создания дескриптора окна (при отображении формы) любой отложенный ItemCheck события вызываются.Once the window handle is created (when the form is shown), any delayed ItemCheck events will be raised. Дополнительные сведения см. в разделе HandleCreated.For more information, see HandleCreated.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий.For more information about handling events, see Handling and Raising Events.

Применяется к

Дополнительно