调用线程无法访问此对象,因为它属于不同的线程

时间:2015-02-23 12:43:27

标签: c# wpf multithreading filesystemwatcher

我正在使用FileSystemWatcher(在WPF中)构建监视器文件夹,并且需要在系统托盘中的弹出窗口中显示文件夹的更改。我正在使用图书馆" NotifyIcon"对此(https://visualstudiogallery.msdn.microsoft.com/aacbc77c-4ef6-456f-80b7-1f157c2909f7/)但是当它通过例程运行应用程序实例化对象时,会发生错误。我之前遇到过这个问题并设法用调度程序解决,但现在我在Visual Studio的外部库(NotifyIcon到弹出窗口的开发)的对象实例中遇到了这个问题,我不知道该怎么解决。我在论坛中已经阅读了一些答案,但没有任何与对象实例有关的内容。我无法发布任何图片,因为我没有足够的声誉,但是'我发布代码。对不起,如果含糊不清的问题,或者文字包含错误,我的英语不是很好。对这个问题有任何疑问,请问我。 拥抱〜

        private void On_Created(object sender, System.IO.FileSystemEventArgs e)
    {
        ShowChanges(e.ChangeType, e.Name);
        Thread criacao = new Thread(new ThreadStart(NotifyCreated));
        criacao.SetApartmentState(ApartmentState.STA);
        criacao.Start();
    }

    private void NotifyCreated()
    {
        //the error occours here\/
        TaskbarIcon NotificaCriacao = new TaskbarIcon();
        string titulo = "Notificação de Ocorrencia";
        string ocorrencia = "Ocorrencia";
        NotificaCriacao.ShowBalloonTip(titulo, ocorrencia, BalloonIcon.Error);
    }

0 个答案:

没有答案