[C#][Windows Formsアプリ][ListBox] 水平スクロールバーを追加する方法

スポンサーリンク

はじめに

この記事では、Windows Formsアプリ開発初心者向けに、ListBoxコントロールのHorizontalScrollbarプロパティを使って、水平スクロールバーを追加する方法について詳しく解説します。ListBoxは、複数のアイテムをリスト形式で表示するためのコントロールですが、アイテムが多くて幅が足りない場合、水平スクロールバーを追加することで、ユーザーがすべてのアイテムを簡単に閲覧できるようになります。この記事を通じて、HorizontalScrollbarプロパティの基本的な使い方から応用までを学び、ListBoxをより便利に活用できるようになりましょう。

HorizontalScrollbarプロパティの基本

HorizontalScrollbarプロパティを使うと、ListBoxに水平スクロールバーを表示することができます。以下のコード例では、ListBoxにアイテムを追加し、HorizontalScrollbarプロパティを有効にする基本的な方法を紹介します。

using System;
using System.Windows.Forms;

namespace ListBoxExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeListBox();
        }

        private void InitializeListBox()
        {
            // ListBoxコントロールを作成
            ListBox listBox = new ListBox();
            listBox.Location = new System.Drawing.Point(10, 10);
            listBox.Size = new System.Drawing.Size(200, 150);

            // HorizontalScrollbarプロパティを有効にする
            listBox.HorizontalScrollbar = true;

            // Itemsプロパティを使用してアイテムを追加
            listBox.Items.Add("非 常 に 長 い 長 い 長 い 長 い 長 い ア イ テ ム 1");
            listBox.Items.Add("非 常 に 長 い 長 い 長 い 長 い 長 い ア イ テ ム 2");
            listBox.Items.Add("非 常 に 長 い 長 い 長 い 長 い 長 い ア イ テ ム 3");

            // フォームにListBoxを追加
            this.Controls.Add(listBox);
        }
    }
}
実行例

実行例

HorizontalScrollbarプロパティの応用

HorizontalScrollbarプロパティを使って、動的にアイテムを追加しながら水平スクロールバーを活用することも可能です。以下のコード例では、テキストボックスに入力された値をListBoxに追加し、水平スクロールバーを表示する機能を実装しています。

using System;
using System.Windows.Forms;

namespace ListBoxExample
{
    public partial class Form1 : Form
    {
        private ListBox listBox;
        private TextBox textBox;
        private Button addButton;

        public Form1()
        {
            InitializeComponent();
            InitializeControls();
        }

        private void InitializeControls()
        {
            // ListBoxコントロールを作成
            listBox = new ListBox();
            listBox.Location = new System.Drawing.Point(10, 10);
            listBox.Size = new System.Drawing.Size(200, 150);
            listBox.HorizontalScrollbar = true;

            // TextBoxコントロールを作成
            textBox = new TextBox();
            textBox.Location = new System.Drawing.Point(10, 170);
            textBox.Size = new System.Drawing.Size(200, 20);

            // Buttonコントロールを作成
            addButton = new Button();
            addButton.Text = "追加";
            addButton.Location = new System.Drawing.Point(220, 170);
            addButton.Click += new EventHandler(AddButton_Click);

            // フォームにコントロールを追加
            this.Controls.Add(listBox);
            this.Controls.Add(textBox);
            this.Controls.Add(addButton);
        }

        private void AddButton_Click(object sender, EventArgs e)
        {
            // TextBoxの内容をListBoxに追加
            if (!string.IsNullOrWhiteSpace(textBox.Text))
            {
                listBox.Items.Add(textBox.Text);
                textBox.Clear();
            }
        }
    }
}
実行例

実行例

よく使用されるプロパティやメソッド

HorizontalScrollbarプロパティと一緒に使うと便利なプロパティやメソッドをいくつか紹介します。

HorizontalExtentプロパティ

HorizontalExtentプロパティは、水平スクロールバーの幅を指定します。デフォルトでは自動的に調整されますが、必要に応じてカスタマイズできます。

listBox.HorizontalExtent = 300;

 

ScrollAlwaysVisibleプロパティ

ScrollAlwaysVisibleプロパティは、スクロールバーを常に表示するかどうかを指定します。デフォルトでは、必要な場合にのみ表示されます。

listBox.ScrollAlwaysVisible = true;

 

まとめ

ListBoxのHorizontalScrollbarプロパティを使うことで、アイテムが多くて幅が足りない場合でも、水平スクロールバーを追加してユーザーがすべてのアイテムを簡単に閲覧できるようになります。この記事では、基本的な水平スクロールバーの追加方法から、動的にアイテムを追加する方法、さらによく使用されるプロパティやメソッドについて紹介しました。これらの知識を活用して、より便利で使いやすいWindows Formsアプリを作成してください。

Please follow and like us:

コメント

タイトルとURLをコピーしました