Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 处理FileSystemWatcher的onCreate事件_Vb.net_Filesystemwatcher - Fatal编程技术网

Vb.net 处理FileSystemWatcher的onCreate事件

Vb.net 处理FileSystemWatcher的onCreate事件,vb.net,filesystemwatcher,Vb.net,Filesystemwatcher,我实现了FileSystemWatcher的此事件: Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs) If e.Name.ToUpper() == "MYTEXTFILE.TXT" then ' code ' End If End Sub 是否有一种方法可以监控创建的文件是否位于类似于此的文本框中 Private Shared Sub OnCreated(sourc

我实现了
FileSystemWatcher
的此事件:

Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)
    If e.Name.ToUpper() == "MYTEXTFILE.TXT" then
        ' code '
    End If
End Sub
是否有一种方法可以监控创建的文件是否位于类似于此的文本框中

Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)
    If e.Name.ToUpper.contains(textbox1.text) then
          ' code '
End Sub

我不是100%清楚我理解你的问题,但我假设你想将刚刚创建的文件名与文本框中的文件名进行比较

1) 文本框中的文本也是大写的吗?在比较之前,我看到您使用了文件名的大写字母

2) 文本框中的文本是否在文件名中是“可包含”的,可能是另一种方式


3) 如果条件是.Equal而不是.Contains?

在多行文本框中有多个文件,并且每个文件名都在单独的一行中,则需要单独拆分文件名,然后用刚刚创建的文件选中每个文件名

Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)

    ' Get an array of the files at each line and remove eventually spurious empty lines
    Dim files() = textbox1.Text.Split(New String() {Environment.NewLine}, _
                                      StringSplitOptions.RemoveEmptyEntries)
    Dim newFile = e.Name.ToUpper()
    for each file in files
        if file.ToUpper() = newFile Then
            ' code '
            Exit For
        End If
    Next
End Sub

文本框只包含一个文件还是多个文件?如果你有多个文件,它们是如何相互分离的?有更多的文件,每个文件都在下一行。我使用equal,但它不起作用。textbox中的文本是小写的,线程中的一个只是示例。而且,我不能使用equal,因为它会比较整个textbox文本,包含的是方法。我看到你的代码是在VB中,但在C#中,它不会编译,因为方法“.contains”应该大写。这可能是你的问题吗?不。我什么都试过了,所以我想我缺少了一部分代码。谢谢,我用
dim newfile as string=e.name.toupper()
替换了
dim newfile as string=e.name.toupper()
,效果很好。是的,对不起,我现在想到了C(顺便说一下,编写
Dim newfile=e.Name.ToUpper()
就足够了,编译器足够聪明,可以推断您正在使用字符串)