FilesystemWatcher

Résolu
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009 - 11 juin 2007 à 11:21
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009 - 11 juin 2007 à 12:31
bonjour

j'utilise un FileSystemwatcher dans un objet user Control.

dans la procédure privatestaticvoid OnChanged(object source, FileSystemEventArgs e) , je ne peux acceder au méthodes/propriétés de mon objet userControl
il me les affiche bien (this. ...) mes quand je compile il me  dit : une réference d'objet est requise....
j'ai besoin d'appeler une méthode de mon onjet use control quand je detecte le "rename" d'un fichier ....

help please !!

5 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 juin 2007 à 12:05
Salut, supprime le mot clé static devant ton évènement OnChanged.
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
11 juin 2007 à 11:45
Salut,
Normalement ça devrait fonctionner.... tu as un morceau de code à nous montrer?

<hr />
-Blog-
0
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
11 juin 2007 à 12:03
dans le load de mon objet user control

// FileSystemWatcher FswSentinelle =

new
FileSystemWatcher();

// chemin a surveillerFswSentinelle.Path = System.Configuration.

ConfigurationSettings.AppSettings[
"CheminAScanner"];

// type de modif a surveillerFswSentinelle.NotifyFilter =

NotifyFilters.LastAccess |
NotifyFilters.LastWrite |
NotifyFilters.FileName;

// fichier a surveiller

FswSentinelle.Filter = System.Configuration.

ConfigurationSettings.AppSettings[
"ExtensionAScanner"];

// evenementsFswSentinelle.Changed +=

new
FileSystemEventHandler(OnChanged);FswSentinelle.Created +=

new
FileSystemEventHandler(OnChanged);FswSentinelle.Deleted +=

new
FileSystemEventHandler(OnChanged);FswSentinelle.Renamed +=

new
RenamedEventHandler(OnChanged);

// on surveilleFswSentinelle.InternalBufferSize = 163840;

FswSentinelle.EnableRaisingEvents =

true;

le code de la procedure Onchanged : refuse la compile sur l'appel a la methode PleinEcran()

// Define the event handlers.

private
static
void OnChanged(
object source,
FileSystemEventArgs e){

         string NomDuFichier =
"";

         switch (e.ChangeType.ToString())         {

            // un fichier nouveau est arrivé

         case
"Created":

                  break;

         case
"Deleted":

                  break;

        case
"Renamed":

                  try               {

                     this.PleinEcran();               }

               catch (
Exception ee)               {

                  MessageBox.Show(
"Cs_Sentinnelle erreur 2 : " + ee.Message.ToString());               }

               break;

         default:

               break;   }

}

public
void PleinEcran(){

   if (
this.ParentForm.Name !=
"foPleinEcran")   {

      this.frmPleinEcran.BringToFront();
   }
}
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
11 juin 2007 à 12:12
Oui, dans une méthode static on ne peut pas accéder au membre d'instance.... logique

<hr />
-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
11 juin 2007 à 12:31
merci !!!!
0
Rejoignez-nous