- PR -

VB.NETにてピクチャーボックス自体が消えてしまう

1
投稿者投稿内容
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-06-15 10:37
ピクチャーボックスAにビットマップを貼り付けて、
その上にピクチャーボックスB(Aより小さい)を表示しようとしています。

最初Bは非表示で、イベントが起こったときにVisibleをTrueにしています。
が、表示することができません。
(ウォッチで確認したところ、値はTrueになっています)

Bを最前面に表示するよう設定していますし、
指定した位置もAの範囲内です。
BのPaintイベントを通っていないということは確認しました。
Aのpaintイベント内で、Bの表示設定を行ってもダメでした。

どうしてBが消えてしまうのか分かりませんので、ご教授願います。

環境は
VisualStudio.NET 2003 Framwork1.1 SP1
WindowsServer 2003
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-15 11:57
引用:

シロさんの書き込み (2006-06-15 10:37) より:

最初Bは非表示で、イベントが起こったときにVisibleをTrueにしています。
が、表示することができません。
(ウォッチで確認したところ、値はTrueになっています)


当方では、再現しませんでした。

コード:

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.PictureBoxA.Image = Image.FromFile("C:\MakiMakiLove.bmp")
        Me.PictureBoxB.Image = Image.FromFile("C:\MosaMosaAA.bmp")
        Me.PictureBoxB.Visible = True
    End Sub


ミニマム コードで検証されていますか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
YAS
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 59
投稿日時: 2006-06-15 12:51
BのParentは何になっていますか?
また,BのLocationの値はどうなっていますか?
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-06-15 13:23
解決しました。

BitMapをピクチャーに指定して表示していたのではなく、
オフスクリーンのBitMapを貼り付けたAと何も指定していないBの
2つのピクチャーボックスを使っています。

イベントが発生するたびに、オフスクリーンのBitMapを
上書きしてしまうため、Bが消えていることが分かりました。

色々、ご教授ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)