• ベストアンサー

同時にパネルを水平スクロールさせる

VB2008で二つのpanel(splitcontainerではない)を用いたアプリケーションを作成しています。 片方のパネルの水平スクロールバーを動かしたら、もう片方も一緒に水平にスクロールさせるようにしたいのですがどうしたらよいのか分かりません。 パネルは、上下に並べないといけません。 どなたかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

状況によっても異なりますが、ヒントになりそうなものを。 > 水平スクロールバーを動かしたら PanelのScrollイベントで e.ScrollOrientation が ScrollOrientation.HorizontalScroll であれば水平スクロールの移動を捉えられます。 > もう片方も一緒に水平にスクロール Panel.HorizontalScroll.Value に値をセットするか、 Panel.AutoScrollPosition を実行することでスクロールバーを動かせます。 ただし、Panel.HorizontalScroll.Value の場合は Panel.Update をしないと変更が反映されないようです。ただ、イベントごとにUpdateすると画面がちらつくので、e.Type が ScrollEventType.ThumbTrack の時は処理しない、などの対策が必要になります。 AutoScrollを使うか使わないか、によって実装方法が変わるので、ただしく動作する組み合わせを見つけてみてください。

zacky2
質問者

お礼

ありがとうございます。参考にさせていただきます。 このサイトで質問したのは初めてでしたので、どれくらいで回答が来るのか心配でしたが、思った以上に早く回答していただき、感謝しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 水平スクロールから垂直スクロールへ変えたい

    いつもお世話になっております。 会社の同僚から質問があり、解決方法が分からなかったので、質問させて頂きます。 エクセルデータが100件ほど入ったフォルダがあるのですが、 それを開くとスクロールバーが水平方向のものしか表示されないそうです。 これでも特に問題は無いのですが、 使いづらいので垂直スクロールバーに変更したいとのことです。 ちなみに、試しで同様のフォルダを新規で作成したところ、 やはり水平スクロールバーが表示されるそうです。 又、こちらで類似の質問を発見し「アイコンの自動整列」にチェックを入れるという解決方法を試してみようとしたのですが、 なぜかその項目がグレーになっており、選択できませんでした。 長くなりましたが、この水平スクロールバーを垂直スクロールバー表示へ変更する方法はありますか? 宜しくお願い致します。

  • スクロールパネルの使い方

    スクロールパネルが上手く使えなく困っております。 現在の私の状況: フレームの上にメインパネルを張る。 メインパネルの上にスクロールパネルを張る。 スクロールパネルの上にサブパネルを張る。 下から フレーム ↓ メインパネル ↓ スクロールパネル ↓ サブパネル です。 サブパネルの高さが変わるので、スクロールパネルを使用したのですが、サブパネルの高さがスクロールパネルの高さ以上になってもスクロールパネルの上下スクロールバーが表示されません。 なぜでしょうか? 説明不足している個所がありましたらご指摘ください。

    • ベストアンサー
    • Java
  • パネルのスクロールバーについて

    はじめまして。質問させていただきます。 Web開発をしています。環境は WinXP,VS2005,VB.netです。 パネルのスクロールバーをボタン押下のタイミングで 右や左にスクロールさたいのですが、方法がわからず、困っています。 どなたかご教授いただけたらと思います。

  • パネルをスクロールするには?

    パネルをスクロールしたいのです。 ・パネルは高さが条件によって変わります。 ・スクロールは縦です。 以上の事を踏まえて、パネルにスクロールバーを追加しました。しかし、スクロールしてもパネルが上下に動きません・・・ パネルを動かすために必要な事を教えてください。 Scrollbar scrollbar = new Scrollbar(); this.add(scrollbar, null); scrollbar.setBounds(new Rectangle(220, 15, 15, 180)); 以上の事で追加はできたのですが、パネルと連動するにはどんな制御が必要でしょうか?

    • ベストアンサー
    • Java
  • 水平スクロールができない。

    hLB=CreateWindow ("LISTBOX",NULL,WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_HSCROLL|LBS_MULTIPLESEL,0,0,400,400,hW,NULL,hI,NULL); SendMessage(hLB,LB_SETHORIZONTALEXTENT,256,0); i=(int)SendMessage(hLB,LB_GETHORIZONTALEXTENT ,0,0); TextOut(hD,300,0,s,strlen(itoa(i,s,10))); (ただしchar s[99];と宣言されている) として200文字の文字列を200個リストボックスに格納すると 垂直スクロールバーはできるのですが水平スクロールバーができず水平方向にオーバーフローした文字を見るためのスクロールもできません。 しかしTextOutの結果は256になります。 どうすれば水平スクロールバーを出すことができ水平スクロールできるようになるのでしょうか。

  • excel:水平スクロールの表示

    office2000を使用 いつもでていた水平スクロールバーが見えなくなりました。 ツール/オプションの表示 水平スクロールバーはチェックされておりますが。 何かに隠れているだけなのでしょうか。回答をよろしくお願いします。

  • 水平スクロールバー

    どなたか教えて下さい。 エクセルで特定のファイルを開いた際に、水平スクロールバーとシートタグが表示されないことがあります。 「ツール」-「オプション」で表示されるウインドウの表示タグを見ても、水平スクロールバーのところにはチェックが入っています。 このような場合にはどうしたら表示されるようになるのでしょうか。 ちなみに、現在のOSはXPでOFFICEは2000ですが、98SEの時も表示されないことがありました。 よろしくお願い致します。

  • 3つの水平スクロールバーの違いについて知りたいです。

    3つの水平スクロールバーの違いについて知りたいです。 僕は、VC++6.0でエディタを作ろうとしているWINAPI初心者です。 ダイアログボックスにリソースエディタで3つスクロールバーを配置しました。 しかし、どうすれば、それぞれのスクロールバーが動いたか知ることが出来ませんでした。 ネットで検索しても出てこないので、ここで質問させて貰いました。 よろしくお願いします。

  • エクセルの水平スクロールバーが変??

    エクセル2003です。 使用中に突然水平スクロールバーのスライダーが 効かなくなりました。 (セル上を → ← キーを使えば水平スクロールできる) 症状 1)スクロールバーの左右の両端の<  >マークが消えています。 2)スライダーは見えますが、マウスで動かせません。(反応しない) (なお、垂直スクロールは問題なく使用できます) 富士通ノート FMV-NB55K Win XPHome Sp2

  • 水平スクロールバーの復元

    Excel2003を使用しています。 突然、Excel画面から、シート見出しや水平スクロールがあるバーが消えてしまいました。 復元するには、どうすれば良いのか教えてください。 よろしくお願いします。