こんにちは、ユーキです。
今回は、リストボックスで複数選択できるようにする方法を紹介します。
複数行選択できるリストボックス
リストボックスを複数行選択できるようにするには、MultiSelectプロパティを変更します。MultiSelectプロパティに設定できるのは、以下の3種類になります。
- fmMultiSelectSingle(0)
- fmMultiSelectMulti(1)
- fmMultiSelectExtended(2)
()の中の数字を指定しても問題ないですが、定数が用意されています。後でコードを読むときに、定数で指定をしておいたほうが意味がわかりやすくなるので、定数を指定するように心がけましょう。
単一行選択:fmMultiSelectSingle(0)
単一行選択のリストボックスにするには、fmMultiSelectSingleを設定します。
最初にリストボックスを配置した際は、このfmMultiSelectSingleが設定されています。そのため、とくに設定を変更しない場合は単一行選択のリストボックスとなります。
ListBox1.MultiSelect = fmMultiSelectSingle
プロパティ画面で設定することも可能です。
![単一行選択リストボックスの選択](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect01.png)
リストの設定の仕方については、以下の記事を参考ください。
![](https://yuuqy-blog.com/wp-content/uploads/2022/12/c5780f0549c741dc0cb2eb7b1445a4d6-300x158.png)
複数行選択:fmMultiSelectMulti(1)
選択した分だけ選択状態にできるリストボックスにしたい場合、fmMultiSelectMultiを指定します。
ListBox1.MultiSelect = fmMultiSelectMulti
fmMultiSelectMultiを指定すると、スペースキー押下 または リストボックスの項目をクリックで選択状態になります。選択中の項目をスペースキー押下 または リストボックスの項目をクリックすると、選択解除状態なります。
![複数行選択](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect02.png)
![選択行の解除](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect03.png)
単一行選択+複数選択:fmMultiSelectExtended(2)
マウスでクリックすると単一行選択、Ctrlキーを押しながら選択すると複数選択、Shiftキーを押しながら選択すると範囲選択ができるリストボックスにするには、fmMultiSelectExtendedを指定します。
ListBox1.MultiSelect = fmMultiSelectExtended
![単一行選択リストボックスの選択](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect01.png)
![Ctrlキーをしながら選択](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect05.png)
![Shiftキーを押しながら選択](https://yuuqy-blog.com/wp-content/uploads/2022/12/99_ListBoxSelect04.png)
まとめ
今回は、リストボックスで複数行選択する方法について紹介しました。
- リストボックスで複数行選択するには、MultiSelectプロパティを選定する
- MultiSelectプロパティに設定できるのは、3種類
- 単一行選択:fmMultiSelectSingle(0)
- 複数行選択:fmMultiSelectMulti(1)
- 単一行選択+複数行:fmMultiSelectExtended(2)
少しでもお役に立てば、幸いです。