ひとりも見捨てないことを、あきらめない

学校教育、社会教育、数学、技術家庭科、Youtube、EdTech、ICT、プログラミング、その他

自動スクロールについて 01/16 木

 画面になにかを表示させたときに、画面に収まり切らない場合があります。このときに、スクロールバーがあれば、見えない部分を見ることができるので、便利です。

 スクロールバーは、いろいろなものにつけることができます。タブにも、パネルにも、つけることができます。自動的にスクロールバーを表示させるためには、次のように書きます。

TabPage tab = new TabPage();
tab.AutoScroll = true;

問題なのは、「見えないところに、モノを配置するには、どうすればいいか」ということですが、「現在見えている画面の、左上が、座標の原点になる」ということのようです。そして、見えない部分(画面の上に隠れている部分)は、Y座標がマイナスになります。反対に、画面の下の方に行くほど、Y座標は大きくなります。

 それでは、画面の上の「見えない部分」がどのくらいあるのかというと、それは、次のようにして取得することができます。

tab.AutoScrollPosition.Y

この値は、負の値になります。

 したがって、「見えない部分の一番上」にたとえばラベルを貼り付けたければ、Location を次のように設定すればよいということになります。

int y = tab.AutoScrollPosition.Y;
Label LB = new Label();
LB.Location = new Point(0,y);

f:id:takase_hiroyuki:20191123160855p:plain