次の方法で共有


ListBox.SelectionMode プロパティ

ListBox で項目を選択する方法を取得または設定します。

Public Overridable Property SelectionMode As SelectionMode
[C#]
public virtual SelectionMode SelectionMode {get; set;}
[C++]
public: __property virtual SelectionMode get_SelectionMode();public: __property virtual void set_SelectionMode(SelectionMode);
[JScript]
public function get SelectionMode() : SelectionMode;public function set SelectionMode(SelectionMode);

プロパティ値

SelectionMode 値の 1 つ。既定値は SelectionMode.One です。

解説

SelectionMode プロパティを使用すると、ユーザーが ListBox 内で一度に選択できる項目数や、複数の項目を選択する方法を指定できます。 SelectionMode プロパティが SelectionMode.MultiExtended に設定されている場合は、Shift キーを押しながらマウスをクリックするか、Shift キーを押しながら方向キー (↑、↓、←、および→) の 1 つを押すと、前に選択した項目から現在選択している項目までを選択できます。Ctrl キーを押しながらマウスをクリックすると、リスト内の項目を選択または選択解除できます。このプロパティが SelectionMode.MultiSimple に設定されている場合は、マウスをクリックするか、Space キーを押すと、リスト内の項目を選択または選択解除できます。

使用例

[Visual Basic, C#, C++] GetSelected メソッドを使用して ListBox 内のどの項目が選択されているかを判別し、現在選択されていない項目を選択して、現在選択されている項目の選択を解除する方法を次の例に示します。この例では、 SelectionMode プロパティを使用して ListBox で複数の項目の選択を許可する方法と、 Sorted プロパティを使用して ListBox 内の項目を自動的に並べ替える方法についても示します。この例は、 listBox1 という名前の ListBox がフォームに追加されていて、この例で定義されている InitializeMyListBox メソッドがフォームの Load イベントから呼び出されることを前提にしています。

 
Private Sub InitializeMyListBox()
   ' Add items to the ListBox.
   listBox1.Items.Add("A")
   listBox1.Items.Add("C")
   listBox1.Items.Add("E")
   listBox1.Items.Add("F")
   listBox1.Items.Add("G")
   listBox1.Items.Add("D")
   listBox1.Items.Add("B")

   ' Sort all items added previously.
   listBox1.Sorted = True

   ' Set the SelectionMode to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended

   ' Select three initial items from the list.
   listBox1.SetSelected(0, True)
   listBox1.SetSelected(2, True)
   listBox1.SetSelected(4, True)

   ' Force the ListBox to scroll back to the top of the list.
   listBox1.TopIndex = 0
End Sub

Private Sub InvertMySelection()

   Dim x As Integer
   ' Loop through all items the ListBox.
   For x = 0 To listBox1.Items.Count - 1

      ' Determine if the item is selected.
      If listBox1.GetSelected(x) = True Then
         ' Deselect all items that are selected.
         listBox1.SetSelected(x, False)
      Else
         ' Select all items that are not selected.
         listBox1.SetSelected(x, True)
      End If
   Next x
   ' Force the ListBox to scroll back to the top of the list.
   listBox1.TopIndex = 0
End Sub

[C#] 
private void InitializeMyListBox()
{
   // Add items to the ListBox.
   listBox1.Items.Add("A");
   listBox1.Items.Add("C");
   listBox1.Items.Add("E");
   listBox1.Items.Add("F");
   listBox1.Items.Add("G");
   listBox1.Items.Add("D");
   listBox1.Items.Add("B");

   // Sort all items added previously.
   listBox1.Sorted = true;

   // Set the SelectionMode to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended;

   // Select three initial items from the list.
   listBox1.SetSelected(0,true);
   listBox1.SetSelected(2,true);
   listBox1.SetSelected(4,true);

   // Force the ListBox to scroll back to the top of the list.
   listBox1.TopIndex=0;
}

private void InvertMySelection()
{
   // Loop through all items the ListBox.
   for (int x = 0; x < listBox1.Items.Count; x++)
   {
      // Determine if the item is selected.
      if(listBox1.GetSelected(x) == true)
         // Deselect all items that are selected.
         listBox1.SetSelected(x,false);      
      else
         // Select all items that are not selected.
         listBox1.SetSelected(x,true);
   }
   // Force the ListBox to scroll back to the top of the list.
   listBox1.TopIndex=0;
}

[C++] 
private:
   void InitializeMyListBox()
   {
      // Add items to the ListBox.
      listBox1->Items->Add(S"A");
      listBox1->Items->Add(S"C");
      listBox1->Items->Add(S"E");
      listBox1->Items->Add(S"F");
      listBox1->Items->Add(S"G");
      listBox1->Items->Add(S"D");
      listBox1->Items->Add(S"B");

      // Sort all items added previously.
      listBox1->Sorted = true;

      // Set the SelectionMode to select multiple items.
      listBox1->SelectionMode = SelectionMode::MultiExtended;

      // Select three initial items from the list.
      listBox1->SetSelected(0,true);
      listBox1->SetSelected(2,true);
      listBox1->SetSelected(4,true);

      // Force the ListBox to scroll back to the top of the list.
      listBox1->TopIndex=0;
   }

   void InvertMySelection()
   {
      // Loop through all items the ListBox.
      for (int x = 0; x < listBox1->Items->Count; x++)
      {
         // Select all items that are not selected,
         // deselect all items that are selected.
         listBox1->SetSelected(x, !listBox1->GetSelected(x));      
      }
      // Force the ListBox to scroll back to the top of the list.
      listBox1->TopIndex=0;
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ListBox クラス | ListBox メンバ | System.Windows.Forms 名前空間 | SelectionMode