0

我有一个加载 datagridview 的 Windows 窗体应用程序。其中一列是图像文件的超链接。当点击这些链接时,下面显示的代码会运行以打开图像。但是,我在系统上有一个新用户在查看任何图像时遇到问题。

起初发现用户无权访问图像路径中的子文件夹之一。更正此问题后,用户现在可以访问完整的图像路径并通过 Windows 资源管理器查看图像。

但是,当运行应用程序并单击超链接时,我的用户会收到:

错误:对路径 '\\Server\folder1\folder2\folder3\image.tif' 的访问被拒绝。在过程中:FQImagingFilteredDataGridView_CellClick

关于发生了什么的任何想法?用户拥有目录的完全权限,甚至个人权限,现在可以通过 Windows 资源管理器成功查看图像,但应用程序仍将用户视为拒绝。

这是我的代码:

Private Sub FQImagingFilteredDataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles FQImagingFilteredDataGridView.CellClick
    Try
        If e.RowIndex = -1 Then Exit Sub
        If e.ColumnIndex <> 0 Then Exit Sub
        Dim ImageFile As String = FQImagingFilteredDataGridView.CurrentRow.Cells("FILEPATH").Value.ToString & "\" & FQImagingFilteredDataGridView.CurrentRow.Cells("FILENAME").Value.ToString

        If Not IO.File.Exists(ImageFile) Then
            MsgBox("Image file not found - unable to display!", MsgBoxStyle.Information, "Attention!")
            Exit Sub
        End If

        ' Pass a memory stream version of image to ImageForm
        Dim DisplayImage As Image = LoadMemoryImage(ImageFile)
        If Not IsNothing(DisplayImage) Then
            Using ImageDisplayForm As New ImageForm(DisplayImage, ImageFile, True)
                With ImageDisplayForm
                    .Text = ImageFile.Substring(InStrRev(ImageFile, "\"))
                    .ShowDialog()
                End With
            End Using
        End If

    Catch ex As Exception
        MsgBox("Error: " + ex.Message + "  In Procedure:  " + Miscellaneous.InvokedBy(), MsgBoxStyle.Information, Me.Text)
    End Try
End Sub

任何帮助表示赞赏。

4

0 回答 0