私が持っています PictureBox picture
。
私が使う:
picture.Size = bmp.Size;
picture.Image = bmp;
maxWidth
とmaxHeigth
の2つの整数があるとしましょう。
垂直/水平スクロールバーをpicture
のサイズがmaxWidth
および/またはmaxHeight
を超えるときに追加します。どうやってやるの?
Panel
コントロールで簡単にできます
パネルをフォームに挿入し、panel1と言います
panel1.AutoScroll = true;
PictureBox
をPanel
に挿入し、画像と言って設定します
picture.SizeMode = PictureBoxSizeMode.AutoSize;
画像を設定します
picture.Image = bmp;
お役に立てれば
これは、フォームにドロップできるImagePanel
ユーザーコントロールを作成したプロジェクトです。スクロールバーとズーム機能を提供します。
また、パネルコントロール内にピクチャボックスを配置して動作するようにしました。パネルのAutoScrollプロパティをtrueに設定しますが、PanelのAutosizeプロパティをTrueに設定し、PanelのDockプロパティをFillに設定します(ユーザーがフォーム-パネルも同様です)。 Pictureboxの場合、DockプロパティをNoneに設定し、SizeModeをAutosizeに設定します(したがって、パネルとフォームのサイズ変更時にもサイズ変更されます。チャームのように機能し、Pictureboxにはスクロールバーがあります。正しく配置されました!
もう1つの提案は、ピクチャボックスをFlowlayoutPanel内に配置することです。
FlowlayoutPanelの自動スクロールをtrueに設定し、画像サイズモードを通常に設定します
FlowlayoutPanelを使用すると、パネル内の画像が常に0,0になります。