في المثال المرفق استخدمت تكست بوكس تكتب به اسم الملف الذي تريد فتحه
واستخدمت كلاس
تضع في الفورم
تضع في الكلاس
واذا كنت تريد فتح اي نوع من الملفات اتبع الاتي
في الكلاس تكتب الآتي
في الفورم تكتب الآتي
واذا اردت يمكن استخدام OpenFileDialog
كالآتي
زر لفتح الملف تلقائيًا بالاسم والامتداد:
زر لفتح الملف يدويًا عن طريق اختيار من الجهاز:
واستخدمت كلاس
تضع في الفورم
PHP كود :
Imports System.IO
Public Class Form1
Private Sub btnOpenDoc_Click(sender As Object, e As EventArgs) Handles btnOpenDoc.Click
Dim fileName As String = TxtFileName.Text.Trim()
WordFileOpener.OpenWordDocument(fileName)
End Sub
End Class
تضع في الكلاس
PHP كود :
Imports System.IO
Imports System.Diagnostics
Public Class WordFileOpener
Public Shared Sub OpenWordDocument(fileName As String)
If String.IsNullOrWhiteSpace(fileName) Then
MessageBox.Show("يرجى إدخال اسم الملف.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Return
End If
' تأكد من أن الاسم ينتهي بـ .docx
If Not fileName.ToLower().EndsWith(".docx") Then
fileName &= ".docx"
End If
For Each drive As DriveInfo In DriveInfo.GetDrives()
If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then
Dim path As String = IO.Path.Combine(drive.Name, "all", fileName)
If File.Exists(path) Then
Process.Start(path)
Exit Sub
End If
End If
Next
MessageBox.Show("الملف " & fileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
End Sub
End Class
واذا كنت تريد فتح اي نوع من الملفات اتبع الاتي
في الكلاس تكتب الآتي
PHP كود :
Imports System.IO
Imports System.Diagnostics
Public Class FileOpener
Public Shared Sub OpenDocument(fileName As String, fileExtension As String)
If String.IsNullOrWhiteSpace(fileName) OrElse String.IsNullOrWhiteSpace(fileExtension) Then
MessageBox.Show("يرجى إدخال اسم الملف ونوع الامتداد.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Return
End If
' تأكد من وجود النقطة في الامتداد
If Not fileExtension.StartsWith(".") Then
fileExtension = "." & fileExtension
End If
Dim fullFileName As String = fileName & fileExtension
For Each drive As DriveInfo In DriveInfo.GetDrives()
If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then
Dim path As String = IO.Path.Combine(drive.Name, "all", fullFileName)
If File.Exists(path) Then
Process.Start(path)
Exit Sub
End If
End If
Next
MessageBox.Show("الملف " & fullFileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
End Sub
End Class
في الفورم تكتب الآتي
PHP كود :
Private Sub BtnOpenFile_Click(sender As Object, e As EventArgs) Handles BtnOpenFile.Click
Dim fileName As String = TxtFileName.Text.Trim()
Dim extension As String = TxtExtension.Text.Trim()
FileOpener.OpenDocument(fileName, extension)
End Sub
واذا اردت يمكن استخدام OpenFileDialog
كالآتي
PHP كود :
Imports System.IO
Imports System.Diagnostics
Imports System.Windows.Forms
Public Class FileOpener
' فتح ملف بالاسم والامتداد من مجلد all في جميع الأقراص
Public Shared Sub OpenDocument(fileName As String, fileExtension As String)
If String.IsNullOrWhiteSpace(fileName) OrElse String.IsNullOrWhiteSpace(fileExtension) Then
MessageBox.Show("يرجى إدخال اسم الملف ونوع الامتداد.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Return
End If
If Not fileExtension.StartsWith(".") Then
fileExtension = "." & fileExtension
End If
Dim fullFileName As String = fileName & fileExtension
For Each drive As DriveInfo In DriveInfo.GetDrives()
If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then
Dim path As String = IO.Path.Combine(drive.Name, "all", fullFileName)
If File.Exists(path) Then
Process.Start(path)
Exit Sub
End If
End If
Next
MessageBox.Show("الملف " & fullFileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
End Sub
' فتح الملف يدويًا باستخدام OpenFileDialog
Public Shared Sub OpenFileWithDialog()
Dim ofd As New OpenFileDialog()
ofd.Title = "اختر ملفًا"
ofd.Filter = "ملفات Word|*.docx|ملفات PDF|*.pdf|كل الملفات|*.*"
If ofd.ShowDialog() = DialogResult.OK Then
Try
Process.Start(ofd.FileName)
Catch ex As Exception
MessageBox.Show("حدث خطأ أثناء فتح الملف: " & ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
End Try
End If
End Sub
End Class
زر لفتح الملف تلقائيًا بالاسم والامتداد:
PHP كود :
Private Sub BtnOpenByName_Click(sender As Object, e As EventArgs) Handles BtnOpenByName.Click
Dim fileName As String = TxtFileName.Text.Trim()
Dim extension As String = TxtExtension.Text.Trim()
FileOpener.OpenDocument(fileName, extension)
End Sub
زر لفتح الملف يدويًا عن طريق اختيار من الجهاز:
PHP كود :
Private Sub BtnOpenByDialog_Click(sender As Object, e As EventArgs) Handles BtnOpenByDialog.Click
FileOpener.OpenFileWithDialog()
End Sub
