|
分類:[VB.NET/VB2005 以降]
はじめまして。
vb.netにて、画像表示をする為に、以下構成をとっています。 Panel 榔ictureBox 画像
Form1に配置しているボタンを押すことにより以下コードが実行されるようになっています。
[Form1コード] ------------------------------------------------------------------------------- Dim hStream As New System.IO.FileStream(画像指定, System.IO.FileMode.Open) With Form2.PictureBox1 .SizeMode = PictureBoxSizeMode.Zoom .Image = Image.FromStream(hStream) End With hStream.Close() Form2.ShowDialog() -------------------------------------------------------------------------------
上記、実行されるとForm2が起動し、画像をピクチャボックスに合わせて縮小表示します。 次にForm2に配置している「拡大」「縮小」ボタンにて、画像表示を変更します。
拡大では、PictureBoxSizeMode.AutoSize にて画像表示 縮小では、PictureBoxSizeMode.Zoom にて画像表示
ここで、拡大表示の際に、PanelのAutoScrollをTrueに設定しているのですが スクロールバーを下まで下げた状態で、縮小表示すると、ピクチャボックスの位置がずれてしまいます。 ピクチャボックスのLocationプロパティなどに(0, 0)を設定するなどして、試してみましたが、現象が改善されません。
拡大表示時にスクロールバーでピクチャボックスを移動させているので、縮小表示時には、その下げた状態の位置を(0, 0)と判断するみたいで ずれてしまっているようです。ちなみに縮小表示時に実行されるコードは以下になります。
[縮小ボタンコード] ------------------------------------------------------------------------------- With Me.PictureBox1 .SizeMode = PictureBoxSizeMode.Zoom .Location = New System.Drawing.Point(0, 0) '意味なし.. End With
Button1.Enabled = True '拡大ボタン有効化 Button2.Enabled = False '縮小ボタン無効化 Panel1.AutoScroll = False 'オートスクロール無効化 -------------------------------------------------------------------------------
何か、回避策及び設定すべきことを忘れている等、ご助言頂けますと助かります。 宜しくお願い致します。
|