web-dev-qa-db-ja.com

Pictureboxでスクロールバーを取得する方法

私が持っています PictureBox picture

私が使う:

picture.Size = bmp.Size;
picture.Image = bmp;

maxWidthmaxHeigthの2つの整数があるとしましょう。
垂直/水平スクロールバーをpictureのサイズがmaxWidthおよび/またはmaxHeightを超えるときに追加します。どうやってやるの?

60
Ichibann

Panelコントロールで簡単にできます

パネルをフォームに挿入し、panel1と言います

panel1.AutoScroll = true;

PictureBoxPanelに挿入し、画像と言って設定します

picture.SizeMode = PictureBoxSizeMode.AutoSize;

画像を設定します

picture.Image = bmp;

お役に立てれば

129
Binil

これは、フォームにドロップできるImagePanelユーザーコントロールを作成したプロジェクトです。スクロールバーとズーム機能を提供します。

http://www.codeproject.com/KB/graphics/YLScsImagePanel.aspx

4
James King

また、パネルコントロール内にピクチャボックスを配置して動作するようにしました。パネルのAutoScrollプロパティをtrueに設定しますが、PanelのAutosizeプロパティをTrueに設定し、PanelのDockプロパティをFillに設定します(ユーザーがフォーム-パネルも同様です)。 Pictureboxの場合、DockプロパティをNoneに設定し、SizeModeをAutosizeに設定します(したがって、パネルとフォームのサイズ変更時にもサイズ変更されます。チャームのように機能し、Pictureboxにはスクロールバーがあります。正しく配置されました!

2
smhiker

もう1つの提案は、ピクチャボックスをFlowlayoutPanel内に配置することです。

FlowlayoutPanelの自動スクロールをtrueに設定し、画像サイズモードを通常に設定します

FlowlayoutPanelを使用すると、パネル内の画像が常に0,0になります。

0
Smith