我正在创建一个应用程序,允许用户使用vb.net中的Web浏览器控件预览文件,并允许使用文本框输入其他一些细节。保存详细信息后,该文件将从列表中删除,并将添加到已完成文件列表中,并将自动重命名。问题是,当我尝试重命名该文件时,会发生一个异常,指出“进程无法访问该文件,因为它正被另一个进程使用”。如何终止我能够重命名文件的过程?
Original_File :它是完整的目标和文件名。
SelectedFile :它是文件名。
ClearEmpData :清除字段。
Private Sub btnSave_Emp_Click(sender As Object, e As EventArgs) Handles btnSave_Emp.Click
Dim SP_Name As String = "SP_EmpData"
Dim SP_Param As String() = {"@DType", "@Equip", "@EmpNo", "@LN", "@FN", "@Path"}
Dim SP_Val As String() = {cbDataType_emp.Text, Equipment_Type, Emp_No, LastName, FirstName, New_Path}
If cbDataType_emp.SelectedIndex <= 0 Then
MyFile.Message.ShowEntryError("Please select data type.", cbDataType_emp)
Exit Sub
Else
If Not MyFile.Process.MoveFiles(Root_Dir, dgvEncode.SelectedCells.Item(1).Value, cbDocType.Text) Then Exit Sub
If Not ExecuteSaveProcedure(SP_Name, SP_Param, SP_Val) Then Exit Sub
Original_File = dgvEncode.SelectedCells.Item(2).Value
Dim dr As DataGridViewRow
For Each dr In dgvEncode.SelectedRows
dgvEncode.Rows.Remove(dr)
dgvDone.Rows.Add(dr)
Next
dgvEncode.CurrentCell.Selected = dgvEncode.Rows.Count
ClearEmpData()
dgvDone.ClearSelection()
Try
My.Computer.FileSystem.RenameFile(Original_File, "xDone_" & SelectedFile)
Catch ex As Exception
MyFile.Message.ShowWarnning(ex.Message)
Exit Sub
End Try
End If
End Sub
答案 0 :(得分:1)
我已经解决了这个问题。我创建了一个临时文件进行预览,然后重命名原始文件,然后删除临时文件。