C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

PictureBox にスクロールバーを表示させる /星は昴 (24/11/17(Sun) 09:20) #103436
Re[1]: PictureBox にスクロールバーを表示させる /KOZ (24/11/18(Mon) 00:32) #103437
  └ Re[2]: PictureBox にスクロールバーを表示させる /星は昴 (24/11/18(Mon) 06:39) #103438 解決済み


親記事 / ▼[ 103437 ]
■103436 / 親階層)  PictureBox にスクロールバーを表示させる
□投稿者/ 星は昴 (3回)-(2024/11/17(Sun) 09:20:36)

分類:[C#] 

https://dobon.net/vb/dotnet/graphics/scrollimage.html

を参考に、PictureBox にスクロールバーを表示させたいのですが、うまくいきません。

https://imepic.jp/20241117/322960

な感じになっています。

 Panel を 4 つ、Splitter を 2 つ(左右、上下分割用)用意します。

(1)LeftPanel を Form1 に貼り付ける。Dock は left。
(2)RightBasePanel を Form1 に貼り付ける。Dock は Fill。
(3)AbovePanel を RightBasePanel に貼り付ける。Dock は Top。
(4)UnderPanel を RightBasePanel に貼り付ける。Dock は Fill。AutoScroll は True。
(5)ListBoxl を AbovePanel に貼り付ける。Dock は Fill。
(6)Pb(PictureBox) を UnderPanel に貼り付ける。Dock は Fill。SizeMode は AutoSize。Location は(0,0)に設定されている。

 デザイナー設計時も、プログラム実行時も PictureBox のスクロールバーは表示されない。

 SplitContainer を 2 個用意してやってみましたが同じです。
(1)MainSplitContainer を左右分割で Form1 に貼り付ける。
(2)RightSplitContainer を上下分割で MainSplitContainer の右側に貼り付ける。
(3)ListBoxl を RightSplitContainer.Panel1(上側)に貼り付ける。
(4)Pb(PictureBox)を RightSplitContainer.Panel2(下側)に貼り付ける。SizeMode は AutoSize。Location(0,0)に設定されている。
(5)RightSplitContainer.Panel2 の AutoScroll を True に設定する。

[ □ Tree ] 返信 編集キー/

▲[ 103436 ] / ▼[ 103438 ]
■103437 / 1階層)  Re[1]: PictureBox にスクロールバーを表示させる
□投稿者/ KOZ (481回)-(2024/11/18(Mon) 00:32:45)
2024/11/18(Mon) 00:40:54 編集(投稿者)

No103436 (星は昴 さん) に返信
> (6)Pb(PictureBox) を UnderPanel に貼り付ける。Dock は Fill。SizeMode は AutoSize。Location は(0,0)に設定されている。
>  デザイナー設計時も、プログラム実行時も PictureBox のスクロールバーは表示されない。

スクロールバーは UnderPanel 内のコントロール(PictureBox)が、UnderPanel のクライアント領域より大きくなると表示されます。
Dock を Fill にすると、UnderPanel のクライアント領域にサイズを合わせるので、スクロールバーは表示されません。

Dock は None にしてください。

あとは、Image プロパティに UnderPanel のクライアント領域より大きな画像をセットするとスクロールバーが表示されるはずです。


[ 親 103436 / □ Tree ] 返信 編集キー/

▲[ 103437 ] / 返信無し
■103438 / 2階層)  Re[2]: PictureBox にスクロールバーを表示させる
□投稿者/ 星は昴 (4回)-(2024/11/18(Mon) 06:39:55)
No103437 (KOZ さん) に返信
> スクロールバーは UnderPanel 内のコントロール(PictureBox)が、UnderPanel のクライアント領域より大きくなると表示されます。
> Dock を Fill にすると、UnderPanel のクライアント領域にサイズを合わせるので、スクロールバーは表示されません。
>
> Dock は None にしてください。

 ありがとうございました。助かりました。
解決済み
[ 親 103436 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -