.net column

.NET開発者のためのブログメディア

C#でのスクロールバーの表示方法は?自動的にスクロールさせよう

2020年08月25日
SE
C#でスクロールバーを表示させたり、自動的にスクロールバーを表示させたりすることはできるのですか。
PM
もちろんできます。では、実際のソースコードを見ながら説明いたしましょう。

C#のスクロールバーについて

今回は、C#のスクロールバーについて説明します。

Formなどに設置したコントロールがFormサイズを超えると、自動的にスクロールバーを表示できます。C#のスクロールバーに興味のある方はぜひご覧ください。

スクロールバーを付ける

基本的な使い方として、Formにスクロールバーを付けてみます。

実際のソースコードを見てみましょう。

Formの左上と右下にButtonが表示されます。
AutoScrollをtrueにすることで、自動的にスクロールバーが出現します。

指定した座標まで自動スクロール

C#では、指定した座標まで自動的にスクロールできます。

実際のソースコードを見てみましょう。

button1をクリックすると、右に50pixel・下に50pixelスクロールされることが分かります。このように、C#では指定した座標まで自動的にスクロールできます。

スクロールされたことを知る

C#では、スクロールバーがスクロールされたことをイベントハンドラで検知できます。

実際のソースコードを見てみましょう。

ScrollOrientationプロパティのHorizontalScroll/VerticalScrollで、イベントを発生させたスクロールバーの方向を取得しています。

このように、C#ではスクロールバーがスクロールされたことをイベントハンドラで検知できます。

任意のコントロールまで自動スクロール

C#では、任意のコントロールが表示されるまで自動スクロールできます。

実際のソースコードを見てみましょう。

ActiveControlプロパティにbutton2を指定することで、起動時にbutton2が表示されるまで自動スクロールされます。

同じようなことが、ScrollControlIntoViewメソッドでも行えます。
button1をクリックすると、button2が表示されるまで自動スクロールすることが分かります。

このように、C#では任意のコントロールが表示されるまで自動スクロールできます。

スクロールバーの連動

C#では、複数のスクロールバーを連動させることができます。

事前に「C:\test\test.gif」を準備してください。
実際のソースコードを見てみましょう。

panel1, panel2のスクロールイベントを検知して、AutoScrollPositionに設定しています。
実行すると、一方のスクロールがもう一方に連動することが分かります。

このように、C#では複数のスクロールバーを連動させることができます。

SE
なるほど。スクロールといっても、いろいろと細かく設定できるのですね。
PM
ご紹介したソースコードを参考にして、お好みに合わせてご自身でソースコードを書いてみることをおススメします。

C#でスクロールバーを表示させよう!

いかがでしたでしょうか。C#では、Formなどに設置したコントロールがFormサイズを超えると、自動的にスクロールバーを表示できます。

任意の座標まで自動スクロールしたり、任意のコントロールが表示されるまで自動スクロールすることもできます。

ぜひご自身でC#のソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)