我有一个加载 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
任何帮助表示赞赏。