filesystemwatcher不触发(filesystemwatcher)
很多人对filesystemwatcher不触发,filesystemwatcher不是很了解那具体是什么情况呢,现在让我们一起来瞧瞧吧!
1、打开VS,选择Visual C#模板创建数据绑定应用程序。输入名称FileSystemWatcherTest,并指定其位置,点击确认按钮进入代码编写界面。
2、准备一个文本框控件拖入到表格一界面中,点击右上角三角形,弹出文本框任务,选择在父容器中停靠。该文本框将用于监控外部记事本改变时显示改动后的内容。
3、添加一个名为我的观察者的新类。可点击对菜单项中的【项目】在其下拉菜单中找到【添加类】并点击,弹出添加新项窗口,在点击C#项中【类】,输入名称我的观察者,点击【添加】按钮
4、在MyWatcher.cs页面中添加复制粘贴如下代码:
5、使用系统;
6、使用系统。集合。泛型;
7、使用系统。木卫一;
8、使用系统100 . Linq
9、使用系统。文本;
10、使用系统。线程。任务;
11、命名空间FileSystemWatcherTest
12、{
13、我的观察者类
14、{
15、公共我的观察者(动态表单测试,字符串路径)
16、{
17、这个FormTest=FormTest
18、这个. Path=路径;
19、}
20、私有文件系统观察器watcher=null
21、私有动态表单测试;
22、内部字符串路径
23、{
24、设置
25、{
26、//观察者。路径=值;
27、WatcherStrat(值);
28、}
29、}
30、私有void WatcherStrat(字符串路径)
31、{
32、if (watcher==null)
33、{
34、watcher=新文件系统watcher();
35、系统10 . IO。FileInfo f=新的文件信息(路径);
36、观察者Path=f . DirectoryName
37、观察者. changed=新文件系统eventhandler(on changed);
38、观察者EnableRaisingEvents=true
39、观察者NotifyFilter=NotifyFilters .属性|
40、NotifyFiltersCreationTime |
41、通知过滤器目录名|
42、通知过滤器文件名|
43、NotifyFiltersLastAccess |
44、NotifyFiltersLastWrite |
45、通知过滤器安全性|
46、通知过滤器尺寸;
47、观察者IncludeSubdirectories=true
48、观察者Filter=\' * \' f . Extension
49、}
50、其他
51、{
52、系统10 . IO。FileInfo f=新的文件信息(路径);
53、观察者路径=f .全名
54、观察者Filter=\' * \' f . Extension
55、}
56、}
57、私有void OnChanged(对象源,文件系统事件参数e)
58、{
59、形式测试.TxtChanged(观察器。路径\\ \\ \' e . Name);
60、}
61、}
62、}
63、在表格一页面中添加复制粘贴如下代码:
64、使用系统;
65、使用系统。集合。泛型;
66、使用系统。组件模型;
67、使用系统。数据;
68、使用系统。绘图;
69、使用系统100 . Linq
70、使用系统。文本;
71、使用系统。线程。任务;
72、使用系统窗户。形式
73、命名空间FileSystemWatcherTest
74、{
75、公共分部类表单1 :表单
76、{
77、公共表单1()
78、{
79、初始化组件();
80、我的守望者m守望者=新我的守望者(这,\' 1。txt’);
81、}
82、公共void TxtChanged(字符串路径)
83、{
84、系统。新系统10 . IO。StreamReader(路径);
85、string str=Sr . ReadToEnd();
86、Sr . Close();
87、RichTextBox1Text=str
88、}
89、私有委托虚空反射(字符串s);
90、私有空的线程(字符串s)//用户界面线程要做的事情
91、{
92、这个。富文本框1。text=s;
93、}
94、公共字符串RichTextBox1Text
95、{
96、设置
97、{
98、这个。富文本框1。invoke(新的RefleshUI(线程),值);
99、}
100、}
101、}
102、}
103、编译代码,生成解决方案。编译成功后,按F5执行。在生成目录下创建一个文本文件(文本文件)文件,并修改其内容后保存,会发现richTextBox1中的内容发生了同样的变化。
本文【filesystemwatcher不触发(filesystemwatcher)】到此讲解完毕了,希望对大家有帮助。