使用用于“;路径“;属性

本文关键字:属性 路径 用于 | 更新日期: 2023-09-27 18:29:04

我正在用C#VS2010制作一个简单的winforms应用程序。我的winforms设计包含一个FileSystemWatcher,它在创建文件时激发一堆代码。

我的问题是,FileSystemWatcher的路径需要在程序运行之前定义,因为它并不总是相同的。

我有一个名为startPath的字符串,我想使用它,但在我的设计中,我似乎不能将它添加到FileSystemWatcher属性中的"路径"字段中。

如果我编辑了form1.designer.cs,我就能让它工作,但我很快就了解到,即使编辑了表单的不同组件,也会重新生成此代码!

正如你可能已经猜到的,我仍然在学习C#.net(大约一周后),而且毫无经验!如果我遗漏了什么愚蠢的东西,请指出!

使用用于“;路径“;属性

FileSystemWatcher有一个path属性,可用于在初始化FileSystemWatcher对象后更改路径。否则,如果使用构造函数设置要监视的路径,则必须重新设置观察程序。

FileSystemWatcher.Path属性

存储路径本身可以通过@leppie 提到的应用程序设置轻松完成

设置参考:
应用程序设置概述
使用C#中的设置
在Winform应用程序中保存用户设置

我在运行时将用户定义的字符串分配为路径,如下所示:

在我的表格中1.cs:

protected override void  OnActivated(EventArgs e)
    {
        base.OnActivated(e);
            fileSystemWatcher1.Path = inputPath;
    }

认为这是一种很好的方法(似乎有效!),字符串"inputPath"是通过从我的配置文件中获取相应的设置来定义的。如果我把它放在settings.cs.上,它似乎不想玩得很好

将所需路径添加到app.config文件的appSettings部分:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="watcherPath" value="''myPC'myShare'myFolder'" />  
  </appSettings>
</configuration>

然后,您可以使用代码从访问此值,并将其分配给FileWatcher路径:

string myPath = System.Configuration.ConfigurationManager.AppSettings["watcherPath"];
FileSystemWatcher fsw = new FileSystemWatcher(myPath);