Использование предопределенной строки для атрибута «Путь» в FileSystemWatcher - PullRequest
1 голос
/ 26 марта 2012

Я делаю простое приложение winforms в C#, с VS2010. Мой дизайн winforms содержит FileSystemWatcher, который запускает кучу кода при создании файла.

Моя проблема в том, что путь к FileSystemWatcher необходимо определить до запуска программы, поскольку он не всегда будет одинаковым.

У меня есть строка с именем startPath, которую я хотел бы использовать, но может показаться, что я не могу просто добавить это в поле «путь» в свойствах FileSystemWatcher в моем дизайне.

Мне удалось заставить его работать, если я отредактировал form1.designer.cs, но, как я быстро узнал, этот код восстанавливается, даже если редактируется другой компонент формы!

Как вы уже догадались, я все еще очень учусь C#.net (около недели назад), и я ни в коем случае не опытен! Если я что-то упустил, пожалуйста, укажите это!

Ответы [ 3 ]

0 голосов
/ 26 марта 2012

FileSystemWatcher имеет свойство path, которое можно использовать для изменения пути после инициализации объекта FileSystemWatcher.В противном случае вам придется переустанавливать ваш наблюдатель, если вы используете конструктор, чтобы задать путь для наблюдения.

FileSystemWatcher.Path Свойство

Сохранение самого путиэто можно легко сделать через Настройки приложения, как указано в @ leppie

Справочник по настройкам:
Обзор настроек приложения
Использование настроек в C #
Сохранение пользовательских настроек в приложении Winform

0 голосов
/ 27 марта 2012

Я назначил пользовательскую строку в качестве пути во время выполнения, например:

В моем form1.cs:

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

Я думаю, В порядке способа (кажется, что он работает!), строка «inputPath» определяется ранее путем получения соответствующей настройки из моего файла конфигурации.Кажется, он просто не хочет играть хорошо, если я поместил его в settings.cs.

0 голосов
/ 26 марта 2012

Добавьте требуемый путь к части appSettings вашего файла app.config:

<?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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...