Application.LocalUserAppDataPath Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het pad op voor de toepassingsgegevens van een lokale, niet-zwervende gebruiker.
public:
static property System::String ^ LocalUserAppDataPath { System::String ^ get(); };
public static string LocalUserAppDataPath { get; }
static member LocalUserAppDataPath : string
Public Shared ReadOnly Property LocalUserAppDataPath As String
Waarde van eigenschap
Het pad voor de toepassingsgegevens van een lokale, niet-zwervende gebruiker.
Voorbeelden
In het volgende codevoorbeeld worden twee formulieren weergegeven en wordt de toepassing afgesloten wanneer beide formulieren worden gesloten. Wanneer de toepassing wordt gestart en afgesloten, wordt de positie van elk formulier onthouden. Hoewel in dit voorbeeld het gebruik van de eigenschap wordt gedemonstreert voor het UserAppDataPath opslaan van toepassingsgegevens voor de gebruiker, kan de LocalUserAppDataPath eigenschap in plaats daarvan worden gebruikt.
De MyApplicationContext klasse neemt gegevens over van ApplicationContext en houdt bij wanneer elk formulier wordt gesloten en sluit de huidige thread af wanneer ze beide zijn. De klasse slaat de posities van elk formulier voor de gebruiker op. De positiegegevens van het formulier worden opgeslagen in een bestand met Appdata.txt de titel dat wordt gemaakt op de locatie die wordt bepaald door UserAppDataPath. Met de Main methode wordt aangeroepen Application.Run(context) om de toepassing te starten op basis van de ApplicationContext.
Deze code is een fragment uit het voorbeeld dat wordt weergegeven in het ApplicationContext klassenoverzicht. Sommige code wordt niet weergegeven met het oog op beknoptheid. Zie ApplicationContext voor de hele codevermelding.
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:
private MyApplicationContext()
{
_formCount = 0;
// Handle the ApplicationExit event to know when the application is exiting.
Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
try
{
// Create a file that the application will store user specific data in.
_userData = new FileStream(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:" + e.ToString());
// 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 = new AppForm1();
_form1.Closed += new EventHandler(OnFormClosed);
_form1.Closing += new CancelEventHandler(OnFormClosing);
_formCount++;
_form2 = new AppForm2();
_form2.Closed += new EventHandler(OnFormClosed);
_form2.Closing += new CancelEventHandler(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();
}
private 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 { }
}
Public Sub New()
MyBase.New()
_formCount = 0
' Handle the ApplicationExit event to know when the application is exiting.
AddHandler Application.ApplicationExit, AddressOf OnApplicationExit
Try
' Create a file that the application will store user specific data in.
_userData = New FileStream(Application.UserAppDataPath + "\appdata.txt", FileMode.OpenOrCreate)
Catch e As IOException
' Inform the user that an error occurred.
MessageBox.Show("An error occurred while attempting to show the application." +
"The error is:" + e.ToString())
' Exit the current thread instead of showing the windows.
ExitThread()
End Try
' Create both application forms and handle the Closed event
' to know when both forms are closed.
_form1 = New AppForm1()
AddHandler _form1.Closed, AddressOf OnFormClosed
AddHandler _form1.Closing, AddressOf OnFormClosing
_formCount = _formCount + 1
_form2 = New AppForm2()
AddHandler _form2.Closed, AddressOf OnFormClosed
AddHandler _form2.Closing, AddressOf OnFormClosing
_formCount = _formCount + 1
' Get the form positions based upon the user specific data.
If (ReadFormDataFromFile()) Then
' 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
End If
' Show both forms.
_form1.Show()
_form2.Show()
End Sub
Private Sub OnApplicationExit(ByVal sender As Object, ByVal e As EventArgs)
' 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
End Try
End Sub
Opmerkingen
Een lokale gebruiker is een gebruikersprofiel waarvan het gebruikersprofiel is opgeslagen op het systeem waarop de gebruiker zich heeft aangemeld. Als er geen pad bestaat, wordt er een gemaakt in de volgende indeling:
Basispad\CompanyName\ProductName\ProductVersion
Een typisch basispad is C:\Documents and Settings\username\Local Settings\Application Data. Dit pad is echter anders als de Windows Forms toepassing wordt geïmplementeerd met behulp van ClickOnce. ClickOnce maakt een eigen toepassingsgegevensmap die is geïsoleerd van alle andere toepassingen. Zie Toegang tot lokale en externe gegevens in ClickOnce-toepassingen voor meer informatie.