Freigeben über


ItemCheckEventArgs.Index-Eigenschaft

Ruft den nullbasierten Index des zu ändernden Elements ab.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public ReadOnly Property Index As Integer
'Usage
Dim instance As ItemCheckEventArgs
Dim value As Integer

value = instance.Index
public int Index { get; }
public:
property int Index {
    int get ();
}
/** @property */
public int get_Index ()
public function get Index () : int

Eigenschaftenwert

Der nullbasierte Index des zu ändernden Elements.

Hinweise

Mit dieser Eigenschaft können Sie das Element in der CheckedListBox bestimmen, dessen Kontrollkästchen geändert wird.

Beispiel

Im folgenden Codebeispiel wird ein aktiviertes ListView-Steuerelement zum Behandeln des ListView.ItemChecked-Ereignisses veranschaulicht. Die Methode verwendet die CurrentValue-Eigenschaft und die Index-Eigenschaft des ItemCheckEventArgs-Objekts zum Abrufen und Berechnen des Preises der ausgewählten Menüelemente. Fügen Sie zum Ausführen des Beispiels den folgenden Code in ein Formular mit einer ListView mit dem Namen ListView1 und einem TextBox mit dem Namen Textbox1 ein. Rufen Sie die InititalizeListView-Methode aus dem Konstruktor des Formulars oder die Load-Methode auf. Stellen Sie sicher, dass allen Ereignissen eine entsprechende Methode für die Ereignisbehandlung zugeordnet ist.

    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

...
    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
 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);
    }

...
   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();
    }
   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 );
   }

...
   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();
   }
    private void InitializeListView()
    {
        this.listView1 = new System.Windows.Forms.ListView();
        // Set properties such as BackColor and DockStyle and Location.
        this.listView1.set_BackColor(System.Drawing.SystemColors.get_Control());
        this.listView1.set_Dock(System.Windows.Forms.DockStyle.Top);
        this.listView1.set_Location(new System.Drawing.Point(0, 0));
        this.listView1.set_Size(new System.Drawing.Size(292, 130));
        this.listView1.set_View(System.Windows.Forms.View.Details);
        this.listView1.set_HideSelection(false);
        // Allow the user to select multiple items.
        this.listView1.set_MultiSelect(true);
        // Show CheckBoxes in the ListView.
        this.listView1.set_CheckBoxes(true);
        //Set the column headers and populate the columns.
        listView1.set_HeaderStyle(ColumnHeaderStyle.Nonclickable);

        ColumnHeader columnHeader1 = new ColumnHeader();
        columnHeader1.set_Text("Breakfast Choices");
        columnHeader1.set_TextAlign(HorizontalAlignment.Left);
        columnHeader1.set_Width(146);

        ColumnHeader columnHeader2 = new ColumnHeader();
        columnHeader2.set_Text("Price Each");
        columnHeader2.set_TextAlign(HorizontalAlignment.Center);
        columnHeader2.set_Width(142);

        this.listView1.get_Columns().Add(columnHeader1);
        this.listView1.get_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((String)foodList.get_Item(count));
            listItem.get_SubItems().Add((String)foodPrice.get_Item(count));
            listView1.get_Items().Add(listItem);
        }
        //Call EndUpdate when you finish adding items to the ListView.
        listView1.EndUpdate();
        this.get_Controls().Add(this.listView1);
    } //InitializeListView

...
    private 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.get_CurrentValue().Equals(CheckState.Unchecked)) {
            price += System.Double.Parse(
                this.listView1.get_Items().get_Item(e.get_Index()).
                get_SubItems().get_Item(1).get_Text());
        }
        else {
            if (e.get_CurrentValue().Equals(CheckState.Checked)) {
                price -= System.Double.Parse(this.listView1.get_Items().
                    get_Item(e.get_Index()).get_SubItems().get_Item(1).
                    get_Text());
            }
        }
        // Output the price to TextBox1.
        textBox1.set_Text(((System.Double)price).ToString());
    } //listView1_ItemCheck1

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ItemCheckEventArgs-Klasse
ItemCheckEventArgs-Member
System.Windows.Forms-Namespace