情報が表示領域に収まらないと、スクロールバーで隠れた情報を表示することができます。表示領域の限界を簡単に解決できるスクロールバーの表示の仕方について考えてみたいと思います。

情報を見せよう

 .NET Framework には、コンボボックスを代表とするドロップダウンリストを表示できるコントロールがいくつか存在します。ドロップダウンリストに表示する項目数は既定で 8 になっています。このままでは表示する項目数が少ない気がします。スクロールバーが表示されるからといって、表示する項目数が少なくてもいいことにはなりません。表示する項目数を増やしましょう。そうする事で、一度に見る事の出来る情報の量が増えます。その結果、リストから選択したい項目を見つけやすくなります。

フォームのサイズを可変に

 ダイアログなどでフォームのサイズを変更できないようにしている場合があります。そういうフォームに、表示する項目数が少ないリストやグリッド系のコントロールが配置されているとします(図1)。その中から目的の項目を探す事は非常に困難です。設定されている項目が多ければ多いほど、スクロールバーを少し移動しただけで大量に項目が移動してしまいます。これではスクロールバーが使い物になりません。

リストの高さが低くスクロールしづらい
図1:リストの高さが低くスクロールしづらい

 でも、ダイアログは本当にサイズ変更可能だと問題があるのでしょうか。大抵の場合は問題ないと思います。あるとしてもコントロールの配置のバランスが悪くなる程度のことでしょう。そんなことより大事なのは、いかに情報を素早く見つけ出す事ができるかです。そのためにフォームのサイズを可変にし、フォームのサイズ変更と同時にリストやグリッド系のコントロールのサイズも変更します(図2)。そうすれば表示する項目数が増え、目的の情報を見つけやすくなります。

フォームのサイズが可変でスクロールしやすい
図2:フォームのサイズが可変でスクロールしやすい

 スクロールバーを表示するということは、表示領域を狭めてしまうことにもなります。スクロールバーは GUI 環境において非常に便利だと思います。しかし、必ず表示しなくてはいけない訳ではありません。スクロールバーを見せるのではなく、情報を見せるようにしたいと思います。