|
Windows Form กับ OpenFileDialog : การเปิด Browse และอัพโหลด Save ไฟล์ (VB.Net,C#) |
Windows Form กับ OpenFileDialog : การเปิด Browse และอัพโหลด Save ไฟล์ (VB.Net,C#) บทความนี้จะเป็นตัวอย่างการเขียน Windows Form Application กับการใช้งาน OpenFileDialog ซึ่งเป็น Control ใช้สำหรับการ Browse เลือกไฟล์ เช่น การอัพโหลดไฟล์ที่เลือกลงในโฟเดอร์ของ Application หรือการ Browse เพื่ออ้างถึง Path ของไฟล์
Windows Form กับ OpenFileDialog
การเขียนโปรแกรมเพื่อใช้งาน File ต่างๆ ให้ Import หรือ using ตัว System.IO เพราะใน Library นี้จะใช้สำหรับการจัดการไฟล์ เช่น Path, Copy , Delete และอื่นๆ
ในการสร้าง OpenFileDialog สามารถสร้างได้จาก Toolbox แล้วเลือกเครื่องมือที่ชื่อว่า "OpenFileDialog" ไปวางบน Form ได้เลย
หรือไม่จะสร้างโดยการ New บน Coding ก็ได้เช่นเดียวกัน
VB.Net
Dim dlg As New OpenFileDialog()
CS
OpenFileDialog dlg = new OpenFileDialog();
Ex1 : การสร้าง OpenFileDialog เพื่ออัพโหลดและ Save ไฟล์แบบง่ายๆ
ให้สร้าง Button สำหรับคลิกเพื่อเปิด OpenFileDialog
ตั้งชื่อว่า btnUpload และสร้าง Event ของการ Click
VB.Net
Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
Dim strFolderPath As String = Application.StartupPath + "/myFile/"
Dim dlg As New OpenFileDialog()
If dlg.ShowDialog() = DialogResult.OK Then
'*** Create Folder
If Not Directory.Exists(strFolderPath) Then
Directory.CreateDirectory(strFolderPath)
End If
'*** Save File
Dim filePath As String = dlg.FileName
Dim fileName As String = System.IO.Path.GetFileName(filePath)
File.Copy(filePath, strFolderPath & fileName, True)
MessageBox.Show("อัพโหลดไฟล์เรียบร้อยแล้ว")
End If
End Sub
CS
private void btnUpload_Click(object sender, EventArgs e)
{
string strFolderPath = Application.StartupPath + "/myFile/";
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
//*** Create Folder
if (!Directory.Exists(strFolderPath))
{
Directory.CreateDirectory(strFolderPath);
}
//*** Save File
string filePath = dlg.FileName;
string fileName = System.IO.Path.GetFileName(filePath);
File.Copy(filePath, strFolderPath + fileName, true);
MessageBox.Show("อัพโหลดไฟล์เรียบร้อยแล้ว");
}
}
จาก Code นี้คำสั่งง่ายๆ คือเมื่อคลิกที่ปุ่ม Button ให้เปิด OpenFileDialog และเมื่อได้ทำการเลือกไฟล์ ก็ให้ทำการ Save ลงในโฟเดอร์ชื่อว่า "myFile" ซึ่งเป็นโฟเดอร์ที่อยู่ใน Path เดียวกันกับ Application
ทดสอบการทำงาน
คลิกที่ Upload
แสดง OpenFileDialog ให้เลือกไฟล์ที่ต้องการอัพโหลด
เมื่อเลือกไฟล์และอัพโหลดเรียบร้อยแล้ว
โฟเดอร์ที่อยู่ใน bin\Debug ชื่อว่า "myFile"
แสดงรายการไฟล์ที่ถูก Upload เข้ามา
Ex2 : การ Filter หรือกำหนดให้เฉพาะบางนามสกุลเท่านั้น
VB.Net
dlg.Filter = "Image,Pdf Only|*.pdf;*.jpg;*.jpeg"
CS
dlg.Filter = "Image,Pdf Only|*.pdf;*.jpg;*.jpeg";
จะเห็ยว่าจะถูกแยกออกเป็น 2 ส่วนด้วย | (ส่วนแรกเป็นคำอธิบาย , ส่วนสองเป็นนามสกุลไฟล์ที่ต้องการ)
ทดสอบการทำงาน
เลือกได้เฉพาะไฟล์นามสกุลที่กำหนดไว้
Ex3 : การเปิดแบบ Multiselect เพื่อให้เลือกได้หลายๆ รายการ
VB.Net
dlg.Multiselect = True
CS
dlg.Multiselect = true;
เพิ่ม dlg.Multiselect เป็น true
VB.Net
Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
Dim strFolderPath As String = Application.StartupPath + "/myFile/"
Dim dlg As New OpenFileDialog()
dlg.Filter = "Image,Pdf Only|*.pdf;*.jpg;*.jpeg"
dlg.Multiselect = True
If dlg.ShowDialog() = DialogResult.OK Then
'*** Create Folder
If Not Directory.Exists(strFolderPath) Then
Directory.CreateDirectory(strFolderPath)
End If
'*** Save File
For Each filePath As String In dlg.FileNames
Dim fileName As String = System.IO.Path.GetFileName(filePath)
File.Copy(filePath, strFolderPath & fileName, True)
Next
MessageBox.Show("อัพโหลดไฟล์เรียบร้อยแล้ว")
End If
End Sub
CS
private void btnUpload_Click(object sender, EventArgs e)
{
string strFolderPath = Application.StartupPath + "/myFile/";
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Image,Pdf Only|*.pdf;*.jpg;*.jpeg";
dlg.Multiselect = true;
if (dlg.ShowDialog() == DialogResult.OK)
{
//*** Create Folder
if (!Directory.Exists(strFolderPath))
{
Directory.CreateDirectory(strFolderPath);
}
//*** Save File
foreach (string filePath in dlg.FileNames)
{
string fileName = System.IO.Path.GetFileName(filePath);
File.Copy(filePath, strFolderPath + fileName, true);
}
MessageBox.Show("อัพโหลดไฟล์เรียบร้อยแล้ว");
}
}
ทดสอบการทำงาน
เลือกได้หลายรายการโดยการกดปุ่ม Shift หรือ Ctrl
แสดงไฟล์ที่ถูกอัพโหลดแบบ Multiselect
.
|
|
|
By : |
TC Admin
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2017-02-16 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|