2016-08-02 7 views
0

私は、画像をフローレイアウトパネルに追加します。私はクリックイベントを追加しようとしているので、画像がflowlayoutパネルでクリックされると元の画像が開きます。私の写真は.jpgです。ここに私がこれまでに得たものはありますが、うまくいかないようです。 (上記の私の例のように)唯一のPictureBoxを参照してClickイベントを追加して個々の画像ボックスの画像を開く

Public Sub pictureBox_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
    Dim pb As PictureBox = DirectCast(sender, PictureBox) 
    ' ... now do something with "pb" (and/or "pb.Image") ... 
End Sub 

、あなたを:

For Each pic As FileInfo In New DirectoryInfo("picturepath").GetFiles("file.jpg") 
    Dim picture As New PictureBox 
    picture .Height = 113 
    picture .Width = 145 
    picture .BorderStyle = BorderStyle.Fixed3D 
    picture .SizeMode = PictureBoxSizeMode.Zoom 
    picture .Image = Image.FromFile(fi.FullName) 

    AddHandler picture.MouseClick, AddressOf pictureBox_MouseClick 
    flowlayoutpanel.Controls.Add(picture) 
Next 

Public Sub pictureBox_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
    ====>>> Not sure what goes here to get the correct path of that image since there could be more than one images. 
End Sub 
+0

あなたは 'picturePreview_MouseClick'機能 – jonju

+0

@jonjuマイナーを追加することができます。

Dim picture As New PictureBox ... picture.Image = Image.FromFile(fi.FullName) picture.Tag = fi.Fullname 

は今、あなたはクリックイベントでそのファイル名を取得して、それで何かを行うことができます:Tagプロパティを使用して、1つの簡単な方法ですテキストエラー。 –

+0

最初にソースファイル( '' fi.FullName')の名前/パスを保存して、後でアクセスできるようにする必要があります。私がprocess.startを使用している場合、ファイルパスは画像にエンコードされません – Plutonix

答えて

0

あなたがクリックされたのPictureBoxへの参照を取得するには、「送信者」パラメータを使用する必要があります画像自体が参照されるだけです。ファイルの完全なパスが必要な場合は、何らかの形でPictureBoxにその情報を保存する必要があります。

Public Sub pictureBox_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
    Dim pb As PictureBox = DirectCast(sender, PictureBox) 

    ' ... now do something with "pb" (and/or "pb.Image") ... 
    Dim fileName As String = pb.Tag.ToString() 
    Process.Start(fileName) 
End Sub 
+0

、使用するデフォルトのウィンドウ写真は何ですか? –

+0

これで何を達成しようとしていますか? – jonju

+0

クリックするだけで画像が開きます。 –

関連する問題