【问题标题】:Populate PictureBox from ListView items从 ListView 项填充 PictureBox
【发布时间】:2014-02-27 20:12:53
【问题描述】:

大家好,我需要一点帮助。我想从ListView 填充我的PictureBox picpreview 但它说NotSupportedException was unhandled The given path's format is not supported。文本框似乎工作正常,但我在检索我的图像文件时遇到了困难。顺便说一下图片是.gif

 Dim sql As String
    Dim ds As New DataSet
    Dim da As New OleDb.OleDbDataAdapter
    Dim cmd As New OleDb.OleDbCommand
    Dim dr As OleDb.OleDbDataReader

Dim inc As Integer
Dim listselect As String
Private Sub get_data()
    Try
        lvroutine.Items.Clear()
        connection()
        sql = "SELECT * From tblprogram ORDER BY MUSCLEGROUP ASC"
        cmd = New OleDbCommand(sql, con)
        dr = cmd.ExecuteReader

        While dr.Read
            Dim lv As ListViewItem = lvroutine.Items.Add(dr("MUSCLEGROUP"))

            With lv.SubItems

                .Add(dr("EXERCISENAME"))
                .Add(dr("EQUIPMENT"))
                .Add(dr("PREVIEW"))

            End With
        End While
        con.Close()


    Catch ex As Exception
        Exit Try
    End Try
End Sub
Private Sub view_record()

    connection()

    listselect = lvroutine.SelectedItems.Item(0).Text

    sql = "SELECT * From tblprogram WHERE MUSCLEGROUP ='" & listselect & "'"
    cmd = New OleDbCommand(sql, con)
    dr = cmd.ExecuteReader

    If dr.Read Then
        txtmuscle.Text = dr("MUSCLEGROUP")
        editprogram.txtexname.Text = dr("EXERCISENAME")
        editprogram.txteq.Text = dr("EQUIPMENT")
        picpreview = dr("PREVIEW")


    End If
End Sub

Private Sub clientprogram_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Call get_data()
    Call connection()

    sql = "Select * From tblprogram ORDER BY MUSCLEGROUP ASC"
    da = New OleDb.OleDbDataAdapter(sql, con)

    da.Fill(ds, "tblprogram")

    con.Close()
End Sub

Private Sub lvroutine_Click(sender As Object, e As EventArgs) Handles lvroutine.Click
    txtmuscle.Text = lvroutine.SelectedItems(0).SubItems(0).Text
    txtexercise.Text = lvroutine.SelectedItems(0).SubItems(1).Text
    txtequipment.Text = lvroutine.SelectedItems(0).SubItems(2).Text
    'picpreview.Image = Image.FromFile(lvroutine.SelectedItems(0).SubItems(3).ToString)<--- This is where the error is.

End Sub




End Class

【问题讨论】:

    标签: vb.net listview datagridview populate


    【解决方案1】:

    首先,确保您的路径是正确的。有时,Visual Studio 会抛出这个问题。只需在执行该行代码(出现错误的行)之前设置一个断点或打开一个 MsgBox 并查看它。

    其次,您可以尝试在位图中加载:

    picpreview.Image = Bitmap.FromFile(lvroutine.SelectedItems(0).SubItems(3).ToString)
    

    另外,我不是 100% 确定,但 .ToString 不是一个方法吗?我来自 C# 世界,但我认为您必须在 .ToString 之后添加大括号:

    picpreview.Image = Bitmap.FromFile(lvroutine.SelectedItems(0).SubItems(3).ToString**()**)
    

    试一试,让我听听什么是有效的,或者,如果是,是无效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      相关资源
      最近更新 更多