C# 在“中播放视频时,应用程序因未知原因停止”;“文件观察者”;方法

C# 在“中播放视频时,应用程序因未知原因停止”;“文件观察者”;方法,c#,winforms,C#,Winforms,在我的WinForms c#应用程序中,我创建了一个方法,该方法在指定文件夹中创建.mp4文件时启动。为此,我运行以下代码: FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Filter = "*.mp4"; watcher.Path = @"D:\transcoderen"; watcher.Created += new FileSystemEventHan

在我的WinForms c#应用程序中,我创建了一个方法,该方法在指定文件夹中创建.mp4文件时启动。为此,我运行以下代码:

        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Filter = "*.mp4";
        watcher.Path = @"D:\transcoderen";
        watcher.Created += new FileSystemEventHandler(watcher_FileCreated);
        watcher.EnableRaisingEvents = true;
最终的方法是:

    void watcher_FileCreated(object sender, FileSystemEventArgs e)
    {
        pictureBox1.Visible = false;
    }
这段代码几乎完全有效。在D:\transcoderen中创建.mp4文件时,该方法将启动。 但由于一些未知的原因,当我更改控件的可见状态时,应用程序停止运行,在我的示例中是pictureBox控件。当我在Visual Studio 2010中调试时,当它点击以下按钮时,它就会停止:

pictureBox1.Visible = false;
VisualStudio2010没有给出错误或任何东西。它的作用与我单击“停止调试”按钮时相同。 以前有人遇到过这个问题吗?如果您这样做,是否有一个解决方案来实现这一点

我认为它会因为某种原因被卡住,也许这与这个方法监视文件的事实有关

提前感谢,


Danny

如果我没有弄错的话,FileWatcher事件是从不同的线程引发的。您必须检查pictureBox1是否需要使用调用,然后调用

也看看