どこに間違いがありますか?

解決


HTML-M  2008-06-02 22:10:24  No: 139826  IP: 192.*.*.*

PictureBoxを1個配置しています。(picturebox1)


If PictureBox1.Image.Size.Width > PictureBox1.Size.Width And PictureBox1.Image.Size.Height > PictureBox1.Image.Size.Height Then
            PictureBox1.Size = New Size(PictureBox1.Image.Size)
        End If

と、PictureBox1のイメージが、Picturebox1のサイズを超えたら、サイズを
イメージと同じにするプログラムです。

しかし、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」と出て、停止してしまいます。

どうすれば改善されるでしょうか?
間違いを教えてください。

編集 削除
簡単簡単  2008-06-02 22:40:30  No: 139827  IP: 192.*.*.*

オブジェクトインスタンスにオブジェクト参照を設定すればいいんじゃないかな。

編集 削除
魔界の仮面弁士  2008-06-03 09:16:46  No: 139828  IP: 192.*.*.*

PictureBox1.Image が、Nothing の状態になっていませんか?

Image プロパティに画像が割り当てられていない状態で、
画像の Size を取得しようとした場合、存在しない物のサイズを
得る事は当然できませんので、そのようなエラーとなります。


それと、"And" 演算子ではなく、"AndAlso" 演算子を使うようにしましょう。

編集 削除
HTML-M  2008-06-03 15:49:56  No: 139829  IP: 192.*.*.*

ImageLocationでイメージをセットしても、ImageはNullのままなんですね。
Imageを直接セットしたらうまくいきました・・・。
勉強不足ですみません。
回答ありがとうございました。

編集 削除
HTML-M  2008-06-03 16:04:28  No: 139830  IP: 192.*.*.*

最後に一つだけお聞きしたいのですが、
ImageがNullかどうか取得する方法を教えてください。

編集 削除
HTML-M  2008-06-03 16:25:06  No: 139831  IP: 192.*.*.*

自力で解決できました
失礼いたしました。

また、解決チェックさせていただきます。

編集 削除