02/10/2018, 00:45

Hướng dẫn sử dụng File System Watcher trong thư viện System.IO

Hôm nay, mình xin hướng dẫn các bạn sử dụng File Sytem Watcher trong thư viện System.IO Vậy bài viết này mình viết có ý nghĩa là gì: Ví dụ: bạn có một folder trong F:Demos, bây giờ nếu mình thêm một file mới, xóa, sửa hay thay đổi tên thì làm thế ...

Hôm nay, mình xin hướng dẫn các bạn sử dụng File Sytem Watcher trong thư viện System.IO

Vậy bài viết này mình viết có ý nghĩa là gì: Ví dụ: bạn có một folder trong F:Demos, bây giờ nếu mình thêm một file mới, xóa, sửa hay thay đổi tên thì làm thế nào để cho ứng dụng windows mình biết được bắt sự kiện đó, thì trong bộ thư viện System.IO của microsoft đã cung cấp sẵn đối tượng FileSystemWatcher cho chúng ta sử dụng để bắt những sự kiện đó.

Dưới đây, là ví dụ demo của chương trình

File System Watcher

Ở ví dụ, trên nếu mình copy file hình bất kỳ vào thư mục F:demos, thì chương trình sẽ tự động load hình ảnh mới thêm vào, hay chỉnh sửa hoặc xóa.

Đồng thời, cũng cho chúng ta biết file vừa mới thay đổi là tên gì

Dưới đây là code của chương trình:

Imports System.IO
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim watched As String = "F:Demos"
        Dim fsw As New FileSystemWatcher(watched)
        fsw.IncludeSubdirectories = True
        fsw.NotifyFilter = NotifyFilters.FileName Or NotifyFilters.LastWrite

        AddHandler fsw.Changed, AddressOf fsw_changed
        AddHandler fsw.Created, AddressOf fsw_changed
        AddHandler fsw.Deleted, AddressOf fsw_changed
        AddHandler fsw.Renamed, AddressOf fsw_changed
        fsw.EnableRaisingEvents = True
    End Sub
    Private Sub fsw_changed(ByVal sender As Object, ByVal e As FileSystemEventArgs)
        PictureBox1.ImageLocation = e.FullPath
        setLabelTxt("Monitoring: " & e.FullPath, Label2)
    End Sub
    Public Shared Sub setLabelTxt(ByVal text As String, ByVal lbl As Label)
        If lbl.InvokeRequired Then
            lbl.Invoke(New setLabelTxtInvoker(AddressOf setLabelTxt), text, lbl)
        Else
            lbl.Text = text
        End If
    End Sub
    Public Delegate Sub setLabelTxtInvoker(ByVal text As String, ByVal lbl As Label)
End Class

Video Demo và hướng dẫn thực hiện demo ở trên:

Chúc các bạn thành công. Mọi câu hỏi thắc mắc đến bài viết xin truy cập http://hoidap.laptrinhvb.net để được support.yes

ĐỪNG QUÊN LIKE AND SHARE NHA CÁC BẠN. 

CÁM ƠN CÁC BẠN ĐÃ THEO DÕI.

Download Source

Tags: đọc fileghi filerichtextbox
0