自動スクロールについて 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);