質問です。
ローカル(例:C:\Program Files\Test\1.jpg)等の中身(1.jpg)を、
取得してその取得した物をComboBoxの中で表示
そして表示されたComboBoxをクリックして取得した1.jpgを
クリックするとPictureBoxに表示する。
"1.jpg","2.jpg","3.jpg"が複数有る場合は、
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button4.Click
'上記でもいいが下記の方法が MSDN でも紹介されています。
'最初にイメージによって使用されているメモリを解放してから、グラフィックを消去します
With PictureBox1
If Not (.Image Is Nothing) Then
.Image.Dispose()
.Image = Nothing
End If
End With
End Sub
と明記してPictureBoxの中身を消して
ComboBoxで取得された2.jpgを読込む
この様なソースコードを書きたいのですが、
ComboBoxにどの様に書けば良いのか困ってます。
どうか教えて下さい。
Form1で作る予定です。
No.1ベストアンサー
- 回答日時:
コンボボックスなら SelectIndexChangedイベントを使うといった具合になるでしょう
コンボボックスをダブルクリックするなどして イベントハンドラを生成します
dim ss as String = ComboBox1.Items(ComboBox1.SelectedIndex).ToString
dim sPath as string = "ファイルのパス" & ss
dim bmp as New Bitmap( sPath );
PictureBox1.Image = bmp
といった具合でしょう
この回答への補足
最後の
dim bmp as New Bitmap( sPath );
PictureBox1.Image = bmp
2行ですが、デバッグすると怒られます。
";"は、"文字が有効ではありません"と怒られ、
"bmp"では無く"jpg"にした結果、
"名前 'jpg' は宣言されていません。"と怒られます。
なぜでしょうか?
補足の件で解決したけど、一部エラーになるのでここで書きます
補足の件はなんとか出来ました。
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim ss As String = ComboBox1.Items(ComboBox1.SelectedIndex).ToString
Dim sPath As String = "C:\Program Files\test" & ss
Dim jpeg As New Bitmap(sPath)
PictureBox1.Image = jpeg
End Sub
出来ましたが、デバッグしてもコンボボックスをクリックして
空白のままでした。
なぜですか?
イベントで"SelectIndexChangedが見つかりません"と怒られ、
上記にしても無理でした。VB2008だから・・でしょうか?
No.2
- 回答日時:
Dim sPath As String = "C:\Program Files\test" & ss
は
Dim sPath As String = "C:\Program Files\test\" & ss
でしょうね
コンボボックスへのデータの設定はプログラマーの責任です
Form_Loadのイベントなどで
Dim objDir as new IO.DirectoryInfo( "C:\Program Files\test")
ComboBox1.Items.Clear()
for each objFile as IO.FileInfo in objDir.GetFiles("*.jpg")
ComboBox1.Items.add( objFile.Name )
next
などで設定が必要でしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「取得先」という表現について
-
Yahoo! JAPAN IDを新規取得でき...
-
Excel VBA:特定の文字列以降(...
-
Googleの検索結果数を取得したい
-
IPアドレスとMACアドレスを取得...
-
【VBA】EXCELブックを開かずに...
-
(Win32)ファイルパスから物理ド...
-
ファイル作成者名の取得
-
VB.NETでボリュームを取得・設...
-
PDO/カラム値だけを取得したい...
-
C# ASP.NET でIPアドレスからア...
-
format関数について
-
Notes スクリプト言語で月末を...
-
アクセスの度にIPアドレスを変...
-
VBAでPDFのアクティブページ番...
-
ps3で久しぶりにCDの音楽情報取...
-
Powershellを使ってパソコンが...
-
PHP/MySQL レコードの件数の取...
-
もしもドロップシッピング:自...
-
VB2005でXMLデータから複数ある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Yahoo! JAPAN IDを新規取得でき...
-
ps3で久しぶりにCDの音楽情報取...
-
DMMの動画を全件取得したのです...
-
自分の掲示板にアクセス解析を...
-
IEを使わないでhtmlテキストを...
-
IPアドレスとMACアドレスを取得...
-
【VBA】EXCELブックを開かずに...
-
ミュージックのアートワークを...
-
format関数について
-
ローカルのコンピュータ名を取...
-
不正競争防止法に該当するので...
-
【C#】FindWindowExの使い方を...
-
アクセスの度にIPアドレスを変...
-
EXCEL、マクロ-改ページ行番号...
-
Excel VBA:特定の文字列以降(...
-
VBAでPDFのアクティブページ番...
-
VB2005でXMLデータから複数ある...
-
VBAでPDFファイルの文書のプロ...
-
perl LWPでURLにアクセスした時...
おすすめ情報