logo
VitNX3 Documentation

# VitNX_ListView.ToggleItem Method

Namespace: VitNX.UI.ControlsV1.Controls
Assembly: VitNX3 (in VitNX3.dll)
VB
C#
F#
C++
JScript
Copy

    public void ToggleItem(
       int index
    )

    This language is not supported or no code example is available.

#### Parameters

index
  int

Source code
VB
C#
F#
C++
JScript
Copy

    public void ToggleItem(int index)
     {
         if (_selectedIndices.Contains(index))
         {
             _selectedIndices.Remove(index);

             // If we just removed both the anchor start AND end then reset them
             if (_anchoredItemStart == index && _anchoredItemEnd == index)
             {
                 if (_selectedIndices.Count > 0)
                 {
                     _anchoredItemStart = _selectedIndices[0];
                     _anchoredItemEnd = _selectedIndices[0];
                 }
                 else
                 {
                     _anchoredItemStart = -1;
                     _anchoredItemEnd = -1;
                 }
             }

             // If we just removed the anchor start then update it accordingly
             if (_anchoredItemStart == index)
             {
                 if (_anchoredItemEnd < index)
                     _anchoredItemStart = index - 1;
                 else if (_anchoredItemEnd > index)
                     _anchoredItemStart = index + 1;
                 else
                     _anchoredItemStart = _anchoredItemEnd;
             }

             // If we just removed the anchor end then update it accordingly
             if (_anchoredItemEnd == index)
             {
                 if (_anchoredItemStart < index)
                     _anchoredItemEnd = index - 1;
                 else if (_anchoredItemStart > index)
                     _anchoredItemEnd = index + 1;
                 else
                     _anchoredItemEnd = _anchoredItemStart;
             }
         }
         else
         {
             _selectedIndices.Add(index);
             _anchoredItemStart = index;
             _anchoredItemEnd = index;
         }

         if (SelectedIndicesChanged != null)
             SelectedIndicesChanged(this, null);

         Invalidate();
     }

    This language is not supported or no code example is available.

Applies to

#### .NET Framework

Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

#### .NET Core

Supported in: 5.0+, 6.0+
See Also
VitNX_ListView Class
VitNX.UI.ControlsV1.Controls Namespace