アプリ版:「スタンプのみでお礼する」機能のリリースについて

Microsoft Visual Basic 2005を使用しています。
いろいろやっているのですがどなたか教えていただけませんか。
Buttonをクリックするとダイアログが開いて画像ファイルを参照させて画像ファイルを選択してからフォルダパスをtextboxに書き込むことはできますか。
同時に PictureBoxに画像を表示もできるのでしょうか。
よろしくお願いします。
もし、ご不明な点がありましたらお伝えください。

A 回答 (5件)

すみません Disposeで破棄するタイミングを間違えていたようです


今回の場合 Disposeで破棄する必要は無いですね m(__)m

img.Dispose()を削除してください
    • good
    • 0
この回答へのお礼

ありがとうございました。(*^_^*)
うまく動きました。
またお聞きすることになるとは思いますがよろしくお願いします。
この度は丁寧に教えていただき感謝しております。

お礼日時:2007/08/19 23:39

#4 です。


最小限ソースは以下で試してください。#4 のソースは無視してください。
Dim img As Bitmap = New Bitmap(TextBox1.Text)
PictureBox1.Image = img
    • good
    • 0

とりあえず On Error Resume Next をコメントアウトして試す。



更には
Dim img As Bitmap = Bitmap.FromFile(TextBox1.Text)
' ピクチャーボックスに表示
PictureBox1.Image = img
' 不要になったオブジェクトの開放
img.Dispose()
って部分だけのテスト用コードを書き、テキストボックスにパスを入力して試してみる。

といった感じで問題を切り分ける作業をしてみては?

んで今後の .NET 開発では On Error Resume Next を永遠に封印し、Try ~ Catch を使うようにしましょう。エラーが無視されてデバッグしづらいし、エラーの種類によって細かい制御をできないでしょ?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
色々やってみたのですがなかなかうまくいかず苦労しております。
今度はTry ~ Catch を使っていきたいと思っております。
またお聞きすることがあるとは思いますがよろしくお願いします。

お礼日時:2007/08/19 23:44

ファイル名に スペースなどが入っているのでしょうか


そのとき与えたファイル名などの詳細を投稿してみましょう

ファイル名にスペースなどが入っているなら
dim sNamae as String
sName = TextBox1.Text
if instr(sName, " ") then
 sName = """" & sName & """"
end if
dim img as Bitmap = Bitmap.FromFile( sName )
といった具合に ファイル(パス)名を ""で括ってみましょう
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
C:\Users\******\Pictures\600x449-2007052900048.jpg
*は半角英数のユーザー名です。
このファイル名はtextboxに反映されますがやはりPictureBoxには画像がでてきませんでした。
見ていただいてもわかるようにスペースなどはないようです。
他に禁止文字とかがあるのでしょうか。
他にどこかおかしな点などありましたら教えていただけませんしょうか。
よろしくお願いいたします。

お礼日時:2007/08/19 21:35

必要なコントロールをフォームに貼り付けます


Button1、TextBox1、PictureBox1、OpenFileDialog1
最低限 OpenFileDialog1以外の3つのコントロールは必要です

次にコマンドボタンのClickイベントで
  ' ファイルを開くダイアログの表示
  If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
    ' 開くボタンが押されたなら
    ' 指示されたファイル名をテキストボックスに設定
    TextBox1.Text = OpenFileDialog1.FileName
    ' 指示された画像ファイルを取り込む
    Dim img As Bitmap = Bitmap.FromFile(TextBox1.Text)
    ' ピクチャーボックスに表示
    PictureBox1.Image = img
    ' 不要になったオブジェクトの開放
    img.Dispose()
  End If
といったコードを記述します

エラーチェックや初期設定を省いていますのでその辺りは必要に応じて変更してください
たとえば
OpenFileDialogで指示されたファイルが画像ファイルでは無いとか
存在しないファイル名を指示されたとか
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ファイルパスはうまく表示されるのですが画像が表示できませんでした。
何かやり方がまずいのでしょうか。
Argument Exception
使用されたパラメータが有効ではありません。
とでて途中で止まってしまします。
もし、何かおかしな点などありましたら教えていただけないでしょうか。
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

On Error Resume Next

' ファイルを開くダイアログの表示
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
' 開くボタンが押されたなら
' 指示されたファイル名をテキストボックスに設定
TextBox1.Text = OpenFileDialog1.FileName
' 指示された画像ファイルを取り込む
Dim img As Bitmap = Bitmap.FromFile(TextBox1.Text)
' ピクチャーボックスに表示
PictureBox1.Image = img
' 不要になったオブジェクトの開放
img.Dispose()
End If
End Sub
End Class

お礼日時:2007/08/18 23:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!