C#中事件的定义和使用

2019-12-30 12:49:01王振洲

                        }

                       
                        Thread.Sleep(250);
                  }

            }
      }
}

 

使用:创建一个Windows应用程序来测试我们之前建立的FileWatch中的事件。首先将刚才创建的项目编译,生成Assembly:FileWatch.dll,然后添加引用。当然直接添加项目引用也可以。然后在Windows应用程序中加入命名空间:

 

复制代码 using Sample.Event;

 

然后在应用程序类中,定义一个私有字段,类型为我们之前创建的类FileWatch:

 

复制代码 public class frmMain : System.Windows.Forms.Form
{
    private Sample.Event.FileWatch FileWatchEventSource;

 

并在构造函数中实例化该对象;

 

复制代码 public frmMain()
{
    InitializeComponent();
    FileWatchEventSource = new Sample.Event.FileWatch();

 

然后将本地方法OnFileChange连接到事件中:

 

复制代码 FileWatchEventSource.FileWatchEvent+=new Sample.Event.FileWatchEventHandler(OnFileChange);

 

我们需要调用MonitorFile方法来触发事件。在本例中,我们用线程来控制MonitorFile方法。这样可以在

应用程序闲置的时候运行该方法以触发事件。

 

复制代码 thrd = new Thread(new ThreadStart(FileWatchEventSource.MonitorFile));
thrd.Start();