Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Application.UserAppDataPath

 

Publicado: octubre de 2016

Obtiene la ruta de acceso de los datos de aplicación de un usuario.

Espacio de nombres:   System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

public static string UserAppDataPath { get; }

Valor de propiedad

Type: System.String

Ruta de acceso de los datos de aplicación de un usuario.

Si una ruta de acceso no existe, se crea uno en el formato siguiente:

Base Path\CompanyName\ProductName\ProductVersion

Los datos almacenados en esta ruta de acceso están parte del perfil de usuario está habilitado para la movilidad. Un usuario móvil trabaja en más de un equipo en una red. El perfil de usuario para un usuario móvil se mantiene en un servidor en la red y se carga en un sistema cuando el usuario inicia sesión. Un perfil de usuario se consideran para la movilidad, el sistema operativo debe ser compatible con los perfiles móviles y debe estar habilitado.

Una ruta de acceso base típica es C:\Documents and Settings\nombre de usuario\Application Data. Esta ruta de acceso será diferente, sin embargo, si la aplicación de formularios Windows Forms se implementa mediante ClickOnce.ClickOnce crea su propio directorio de datos de aplicación que está aislada de todas las demás aplicaciones. Para obtener más información, consulte obtener acceso Local y remota de datos en aplicaciones ClickOnce.

En el ejemplo de código siguiente se muestra dos formularios y sale de la aplicación cuando se cierran los dos formularios. Cuando la aplicación se inicia y se cierra, se recuerda la posición de cada formulario. En este ejemplo se muestra cómo utilizar el UserAppDataPath propiedad para almacenar datos de aplicación para el usuario.

La clase MyApplicationContext hereda de ApplicationContext y realiza un seguimiento cuando se cierra cada formulario y sale del subproceso actual cuando ambos están. La clase almacena las posiciones de cada formulario para el usuario. Los datos de la posición de formulario se almacenan en un archivo denominado Appdata.txt que se crea en la ubicación determinada por UserAppDataPath. El Main llamadas al método Application.Run(context) para iniciar la aplicación dada la ApplicationContext.

Este código es un extracto del ejemplo que se muestra en el ApplicationContext general sobre la clase. No se muestra algún código de brevedad. Consulte ApplicationContext para obtener el código completo.

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 {}
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: