- ベストアンサー
同時にパネルを水平スクロールさせる
VB2008で二つのpanel(splitcontainerではない)を用いたアプリケーションを作成しています。 片方のパネルの水平スクロールバーを動かしたら、もう片方も一緒に水平にスクロールさせるようにしたいのですがどうしたらよいのか分かりません。 パネルは、上下に並べないといけません。 どなたかご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
状況によっても異なりますが、ヒントになりそうなものを。 > 水平スクロールバーを動かしたら PanelのScrollイベントで e.ScrollOrientation が ScrollOrientation.HorizontalScroll であれば水平スクロールの移動を捉えられます。 > もう片方も一緒に水平にスクロール Panel.HorizontalScroll.Value に値をセットするか、 Panel.AutoScrollPosition を実行することでスクロールバーを動かせます。 ただし、Panel.HorizontalScroll.Value の場合は Panel.Update をしないと変更が反映されないようです。ただ、イベントごとにUpdateすると画面がちらつくので、e.Type が ScrollEventType.ThumbTrack の時は処理しない、などの対策が必要になります。 AutoScrollを使うか使わないか、によって実装方法が変わるので、ただしく動作する組み合わせを見つけてみてください。
お礼
ありがとうございます。参考にさせていただきます。 このサイトで質問したのは初めてでしたので、どれくらいで回答が来るのか心配でしたが、思った以上に早く回答していただき、感謝しています。