当前位置:编程学习 > C#/ASP.NET >>

一个关于FileSystemWatcher的问题,谢谢

Hi,大家好,我在用FileSystemWatcher监视某个目录的时候出现了问题,在往被监视的目录拷贝文件的时候Create事件似乎不能被触发(请看下面的程序),我把一个txt文件从C盘的根目录拷贝到C:\ABC目录下,但是并没有触发事件,弹出消息框,请问是怎么回事,谢谢!
-------------------------------------------
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim watcher As New FileSystemWatcher
        watcher.Path = "C:\ABC"
        watcher.NotifyFilter = (NotifyFilters.Attributes Or NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.CreationTime Or NotifyFilters.Size)
        watcher.Filter = "*.txt"
        AddHandler watcher.Created, AddressOf OnChanged
        'AddHandler watcher.Changed, AddressOf OnChanged
        'AddHandler watcher.Deleted, AddressOf OnChanged
        'AddHandler watcher.Renamed, AddressOf OnRenamed
        watcher.EnableRaisingEvents = True
    End Sub


    Sub OnChanged(ByVal sender As Object, ByVal e As FileSystemEventArgs)
        MessageBox.Show("test")
    End Sub --------------------编程问答-------------------- 研究中 --------------------编程问答-------------------- 有结果了吗? --------------------编程问答-------------------- http://topic.csdn.net/u/20071216/11/6426c72a-dc33-472e-a254-f175180dccd4.html --------------------编程问答-------------------- 谢谢hdt的回复

现在我将程序修改为:
---------------------
Public   watcher   As   FileSystemWatcher
        Private   Sub   Form1_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load
                watcher   =   New   FileSystemWatcher
                watcher.Path   =   "C:\ABC"
                watcher.NotifyFilter   =   (NotifyFilters.Attributes   Or   NotifyFilters.LastAccess   Or   NotifyFilters.LastWrite   Or   NotifyFilters.CreationTime   Or   NotifyFilters.Size)
                watcher.Filter   =   "*.txt"
                AddHandler   watcher.Created,   AddressOf   OnChanged
                'AddHandler   watcher.Changed,   AddressOf   OnChanged
                'AddHandler   watcher.Deleted,   AddressOf   OnChanged
                'AddHandler   watcher.Renamed,   AddressOf   OnRenamed
                watcher.EnableRaisingEvents   =   True
        End   Sub


        Sub   OnChanged(ByVal   sender   As   Object,   ByVal   e   As   FileSystemEventArgs)
                MessageBox.Show("test")
        End   Sub
---------------------
但是还是没有反应,messagebox还是不出来 --------------------编程问答-------------------- 我又试了一下,按照MSDN上写控制台程序就可以,但是现在我需要用窗体程序啊。请问怎么解决
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,