Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Application::UserAppDataPath-Eigenschaft

 

Ruft den Pfad für die Anwendungsdaten eines Benutzers ab.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
property String^ UserAppDataPath {
	static String^ get();
}

Eigenschaftswert

Type: System::String^

Der Pfad für die Anwendungsdaten eines Benutzers.

Wenn ein Pfad nicht vorhanden ist, wird eine im folgenden Format erstellt:

Base Path\CompanyName\ProductName\ProductVersion

In diesem Pfad gespeicherte Daten ist Teil des Benutzerprofils, das für roaming aktiviert ist. Ein Roamingbenutzer arbeitet an mehreren Computern in einem Netzwerk. Das Benutzerprofil für einen Roamingbenutzer wird auf einem Server im Netzwerk gespeichert und ist auf ein System geladen, wenn der Benutzer anmeldet. Für ein Benutzerprofil für roaming, betrachtet das Betriebssystem Roamingprofile unterstützen und muss aktiviert sein.

Ein normaler Basispfad ist C:\Documents and Settings\Benutzername\Application. Dieser Pfad unterscheiden jedoch, wenn die Windows Forms-Anwendung mithilfe von bereitgestellt wird ClickOnce.ClickOnce erstellt eine eigene Anwendung-Datenverzeichnis, das von allen anderen Anwendungen isoliert ist. Weitere Informationen finden Sie unter Zugreifen auf lokale und Remotedaten in ClickOnce Applications.

Im folgenden Codebeispiel werden zwei Formulare angezeigt, und die Anwendung wird beendet, wenn beide Formulare geschlossen werden. Wenn die Anwendung gestartet und beendet wird, wird die Position jedes Formulars gespeichert. Dieses Beispiel veranschaulicht die Verwendung der UserAppDataPath Eigenschaft zum Speichern von Anwendungsdaten für den Benutzer.

Die Klasse MyApplicationContext erbt von ApplicationContext und verfolgt jedes Formular wird geschlossen, und den aktuellen Thread beendet, wenn beide sind. Die Klasse speichert die Positionen jedes Formulars für den Benutzer. Daten aus dem Formular Position befindet sich in einer Datei mit der Bezeichnung Appdata.txt erstellt wird, bestimmt, indem Sie an der UserAppDataPath. Die Main -Methodenaufrufe Application.Run(context) zum Starten der Anwendung erhält der ApplicationContext.

Dieser Code ist ein Auszug aus dem Beispiel in der ApplicationContext Übersicht über die Klasse. Code wird im Rahmen der Übersichtlichkeit nicht angezeigt. Finden Sie unter ApplicationContext für das gesamte Codebeispiel.

   MyApplicationContext()
   {
      formCount = 0;

      // Handle the ApplicationExit event to know when the application is exiting.
      Application::ApplicationExit += gcnew EventHandler( this, &MyApplicationContext::OnApplicationExit );
      try
      {

         // Create a file that the application will store user specific data in.
         userData = gcnew FileStream( String::Concat( Application::UserAppDataPath, "\\appdata.txt" ),FileMode::OpenOrCreate );
      }
      catch ( IOException^ e ) 
      {

         // Inform the user that an error occurred.
         MessageBox::Show( "An error occurred while attempting to show the application. The error is: {0}", dynamic_cast<String^>(e) );

         // Exit the current thread instead of showing the windows.
         ExitThread();
      }


      // Create both application forms and handle the Closed event
      // to know when both forms are closed.
      form1 = gcnew AppForm1;
      form1->Closed += gcnew EventHandler( this, &MyApplicationContext::OnFormClosed );
      form1->Closing += gcnew CancelEventHandler( this, &MyApplicationContext::OnFormClosing );
      formCount++;
      form2 = gcnew AppForm2;
      form2->Closed += gcnew EventHandler( this, &MyApplicationContext::OnFormClosed );
      form2->Closing += gcnew CancelEventHandler( this, &MyApplicationContext::OnFormClosing );
      formCount++;

      // Get the form positions based upon the user specific data.
      if ( ReadFormDataFromFile() )
      {

         // If the data was read from the file, set the form
         // positions manually.
         form1->StartPosition = FormStartPosition::Manual;
         form2->StartPosition = FormStartPosition::Manual;
         form1->Bounds = form1Position;
         form2->Bounds = form2Position;
      }


      // Show both forms.
      form1->Show();
      form2->Show();
   }

   void OnApplicationExit( Object^ /*sender*/, EventArgs^ /*e*/ )
   {

      // When the application is exiting, write the application data to the
      // user file and close it.
      WriteFormDataToFile();
      try
      {

         // Ignore any errors that might occur while closing the file handle.
         userData->Close();
      }
      catch ( Exception^ ) 
      {
      }

   }


private:

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: