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

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

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

Re[2]: ピクチャーボックスがずれてしまう


(過去ログ 104 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■62254 / inTopicNo.1)  ピクチャーボックスがずれてしまう
  
□投稿者/ かむかむBOY (1回)-(2011/09/29(Thu) 17:49:13)

分類:[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 'オートスクロール無効化
-------------------------------------------------------------------------------


何か、回避策及び設定すべきことを忘れている等、ご助言頂けますと助かります。
宜しくお願い致します。







引用返信 編集キー/
■62268 / inTopicNo.2)  Re[1]: ピクチャーボックスがずれてしまう
□投稿者/ shu (1024回)-(2011/09/30(Fri) 07:59:32)
No62254 (かむかむBOY さん) に返信

AutoScrollPositionを (0, 0)にするとどうですか?
引用返信 編集キー/
■62270 / inTopicNo.3)  Re[2]: ピクチャーボックスがずれてしまう
□投稿者/ かむかむBOY (3回)-(2011/09/30(Fri) 09:19:18)
No62268 (shu さん) に返信
> ■No62254 (かむかむBOY さん) に返信
>
> AutoScrollPositionを (0, 0)にするとどうですか?

shuさんご返信ありがとうございます。
スクロールのポジションを変更してみましたが、同じでした。

が、

以下、オートスクロール無効化の設定を画像設定の前に移動すると求める動作となしました。

[縮小ボタンコード]
-------------------------------------------------------------------------------

 Panel1.AutoScroll = False 'オートスクロール無効化 ★←ここへ移動★

 With Me.PictureBox1
  .SizeMode = PictureBoxSizeMode.Zoom
  .Location = New System.Drawing.Point(0, 0) '意味なし..
 End With

 Button1.Enabled = True '拡大ボタン有効化
 Button2.Enabled = False '縮小ボタン無効化

-------------------------------------------------------------------------------

解決とさせていただきます。



解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -