2010-03-11 28 views
4

J'ai fait une application WPF sur laquelle vous pouvez ouvrir Open/SaveFileDialogs. Sur mon PC il se souvient du répertoire dans lequel j'étais la dernière fois que j'ai utilisé une telle boîte de dialogue et le définit comme répertoire initial quand j'ouvre une autre boîte de dialogue. Mais sur le PC de mon collègue, il ne s'en souvient pas.Pourquoi FileDialog ne se souvient-il pas parfois du répertoire initial?

La classe exacte que j'utilise est Microsoft.Win32.OpenFileDialog. Nous avons tous deux WinXP installé.

Ce qui pourrait être à l'origine de cela?

MISE À JOUR: Apparemment, ce problème n'est pas encore résolu. J'ai découvert que cela arrive aussi sur mon PC. J'ai trouvé lorsque je sélectionne plusieurs fichiers et le clic ouvert ou appuyez sur Entrée, puis il ne sauve pas l'emplacement où il était. Mais quand je sélectionne un seul fichier et une horloge ouverte ou appuyez sur Entrée (ou double-cliquez dessus), alors ne se souvenir de l'emplacement.

Voici le code:

public override void Execute(object parameter) 
{ 
    OpenFileDialog dialog = new OpenFileDialog(); 
    dialog.DefaultExt = ".txt"; 
    dialog.Filter = "Text files (.txt)|*.txt"; 
    dialog.Multiselect = true; 
    dialog.Title = "Select a trace file"; 
    // The documentation says ShowDialog always returns either true or false, 
    // so we get the value of the returned Nullable<bool> immediately to get 
    // rid of the Nullable<bool> type. 
    bool result = dialog.ShowDialog().Value; 
    if (result) 
    { 
     foreach (string fileName in dialog.FileNames) 
     { 
      traceFilesViewModel.TraceFileList.Add(fileName); 

      traceFilesViewModel.StatusBackground = Brushes.PeachPuff; 
      traceFilesViewModel.StatusForeground = Brushes.Red; 
      traceFilesViewModel.StatusText = "Trace files not loaded."; 
     } 
    } 
} 

Répondre

4

Les choses qui pourraient rendre le OpenFileDialog "oublier" le dernier répertoire utilisé sont:

  • le dossier a été déplacé/renommé
  • l'utilisateur doesn Le lecteur système (contenant les profils utilisateur) est plein et le profil de l'utilisateur ne peut pas être correctement stocké sur le disque local. Machine
  • l'application est exécutée à partir d'un emplacement distant et cet endroit est pas considéré comme digne de confiance (par exemple: \ server \ deployment \ myapp.exe)

J'espère que ça aide.

+0

Merci pour ces conseils. Le dernier est un candidat très probable. Je vais me renseigner. –