Application Clase

Definición

Proporciona propiedades y métodos static para administrar una aplicación, por ejemplo, métodos para iniciar y detener una aplicación y para procesar mensajes de Windows, y propiedades para obtener información acerca de una aplicación.Provides static methods and properties to manage an application, such as methods to start and stop an application, to process Windows messages, and properties to get information about an application. Esta clase no se puede heredar.This class cannot be inherited.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
Herencia
Application

Ejemplos

En el ejemplo de código siguiente se enumeran los números de un cuadro de lista de un formulario.The following code example lists numbers in a list box on a form. Cada vez que haga clic en button1, la aplicación agregará otro número a la lista.Each time you click button1, the application adds another number to the list.

El método Main llama a Run para iniciar la aplicación, que crea el formulario, listBox1 y button1.The Main method calls Run to start the application, which creates the form, listBox1 and button1. Cuando el usuario hace clic en button1, el método button1_Click muestra una MessageBox.When the user clicks button1, the button1_Click method displays a MessageBox. Si el usuario hace clic en No en el MessageBox, el método button1_Click agrega un número a la lista.If the user clicks No on the MessageBox, the button1_Click method adds a number to the list. Si el usuario hace clic en Yes, la aplicación llama a Exit para procesar todos los mensajes restantes en la cola y, a continuación, salir.If the user clicks Yes, the application calls Exit to process all remaining messages in the queue and then to quit.

Nota

La llamada a Exit producirá un error en la confianza parcial.The call to Exit will fail in partial trust.

public ref class Form1: public System::Windows::Forms::Form
{
private:
   Button^ button1;
   ListBox^ listBox1;

public:
   Form1()
   {
      button1 = gcnew Button;
      button1->Left = 200;
      button1->Text =  "Exit";
      button1->Click += gcnew EventHandler( this, &Form1::button1_Click );
      listBox1 = gcnew ListBox;
      this->Controls->Add( button1 );
      this->Controls->Add( listBox1 );
   }

private:
   void Form1::button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      int count = 1;
      
      // Check to see whether the user wants to exit 
      // the application. If not, add a number to the list box.
      while ( MessageBox::Show(  "Exit application?",  "", MessageBoxButtons::YesNo ) == ::DialogResult::No )
      {
         listBox1->Items->Add( count );
         count += 1;
      }

      
      // The user wants to exit the application. 
      // Close everything down.
      Application::Exit();
   }

};

int main()
{
   
   // Starts the application.
   Application::Run( gcnew Form1 );
}

public class Form1 : Form
{
    [STAThread]
    public static void Main()
    {
        // Start the application.
        Application.Run(new Form1());
    }

    private Button button1;
    private ListBox listBox1;

    public Form1()
    {
        button1 = new Button();
        button1.Left = 200;
        button1.Text = "Exit";
        button1.Click += new EventHandler(button1_Click);

        listBox1 = new ListBox();
        this.Controls.Add(button1);
        this.Controls.Add(listBox1);
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
        int count = 1;
        // Check to see whether the user wants to exit the application.
        // If not, add a number to the list box.
        while (MessageBox.Show("Exit application?", "", 
            MessageBoxButtons.YesNo)==DialogResult.No)
        {
            listBox1.Items.Add(count);
            count += 1;
        }

        // The user wants to exit the application. 
        // Close everything down.
        Application.Exit();
    }
}
Public Class Form1 
    Inherits Form

    <STAThread()> _
     Shared Sub Main()
        ' Start the application.
        Application.Run(New Form1)
    End Sub

    Private WithEvents button1 As Button
    Private WithEvents listBox1 As ListBox

    Public Sub New()
        button1 = New Button
        button1.Left = 200
        button1.Text = "Exit"

        listBox1 = New ListBox
        Me.Controls.Add(button1)
        Me.Controls.Add(listBox1)
    End Sub

    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles button1.Click
        Dim count As Integer = 1
        ' Check to see whether the user wants to exit the application.
        ' If not, add a number to the list box.
        While (MessageBox.Show("Exit application?", "", _
            MessageBoxButtons.YesNo) = DialogResult.No)

            listBox1.Items.Add(count)
            count += 1

        End While

        ' The user wants to exit the application. 
        ' Close everything down.
        Application.Exit()
    End Sub

End Class

Comentarios

La clase Application tiene métodos para iniciar y detener aplicaciones y subprocesos, así como para procesar mensajes de Windows, como se indica a continuación:The Application class has methods to start and stop applications and threads, and to process Windows messages, as follows:

  • Run inicia un bucle de mensajes de aplicación en el subproceso actual y, opcionalmente, hace que un formulario sea visible.Run starts an application message loop on the current thread and, optionally, makes a form visible.

  • Exit o ExitThread detiene un bucle de mensajes.Exit or ExitThread stops a message loop.

  • DoEvents procesa los mensajes mientras el programa se encuentra en un bucle.DoEvents processes messages while your program is in a loop.

  • AddMessageFilter agrega un filtro de mensajes al bombeo de mensajes de la aplicación para supervisar los mensajes de Windows.AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.

  • IMessageFilter le permite detener la generación de un evento o realizar operaciones especiales antes de invocar un controlador de eventos.IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.

Esta clase tiene CurrentCulture y CurrentInputLanguage propiedades para obtener o establecer información de referencia cultural para el subproceso actual.This class has CurrentCulture and CurrentInputLanguage properties to get or set culture information for the current thread.

No se puede crear una instancia de esta clase.You cannot create an instance of this class.

Propiedades

AllowQuit

Obtiene un valor que indica si el llamador puede cerrar la aplicación.Gets a value indicating whether the caller can quit this application.

CommonAppDataPath

Obtiene la ruta de acceso de los datos de aplicación compartidos por todos los usuarios.Gets the path for the application data that is shared among all users.

CommonAppDataRegistry

Obtiene la clave del Registro de los datos de aplicación compartidos por todos los usuarios.Gets the registry key for the application data that is shared among all users.

CompanyName

Obtiene el nombre de la compañía asociado a la aplicación.Gets the company name associated with the application.

CurrentCulture

Obtiene o establece la información de referencia cultural del subproceso actual.Gets or sets the culture information for the current thread.

CurrentInputLanguage

Obtiene o establece el idioma de entrada actual para el subproceso actual.Gets or sets the current input language for the current thread.

ExecutablePath

Obtiene la ruta de acceso del archivo ejecutable que inició la aplicación, incluido el nombre del archivo ejecutable.Gets the path for the executable file that started the application, including the executable name.

HighDpiMode

Obtiene el modo con valores altos de PPP actual para la aplicación.Gets the current high DPI mode for the application.

LocalUserAppDataPath

Obtiene la ruta de acceso de los datos de aplicación de un usuario local no móvil.Gets the path for the application data of a local, non-roaming user.

MessageLoop

Obtiene un valor que indica si existe un bucle de mensajes en el subproceso.Gets a value indicating whether a message loop exists on this thread.

OpenForms

Obtiene una colección de formularios abiertos que posee la aplicación.Gets a collection of open forms owned by the application.

ProductName

Obtiene el nombre de producto asociado a la aplicación.Gets the product name associated with this application.

ProductVersion

Obtiene la versión de producto asociada a la aplicación.Gets the product version associated with this application.

RenderWithVisualStyles

Obtiene un valor que especifica si la aplicación actual dibuja los controles con estilos visuales.Gets a value specifying whether the current application is drawing controls with visual styles.

SafeTopLevelCaptionFormat

Obtiene o establece la cadena de formato que se va a aplicar a los títulos de las ventanas de nivel superior cuando se muestren con un titular de advertencia.Gets or sets the format string to apply to top-level window captions when they are displayed with a warning banner.

StartupPath

Obtiene la ruta de acceso del archivo ejecutable que inició la aplicación, sin incluir el nombre del archivo ejecutable.Gets the path for the executable file that started the application, not including the executable name.

UserAppDataPath

Obtiene la ruta de acceso de los datos de aplicación de un usuario.Gets the path for the application data of a user.

UserAppDataRegistry

Obtiene la clave del Registro de los datos de aplicación de un usuario.Gets the registry key for the application data of a user.

UseVisualStyles

Obtiene un valor que indica si los estilos visuales están habilitados para la aplicación.Gets a value that indicates whether visual styles are enabled for the application.

UseWaitCursor

Obtiene o establece si el cursor de espera se utiliza para todos los formularios abiertos de la aplicación.Gets or sets whether the wait cursor is used for all open forms of the application.

VisualStyleState

Obtiene un valor que especifica cómo se van a aplicar los estilos visuales a las ventanas de la aplicación.Gets a value that specifies how visual styles are applied to application windows.

Métodos

AddMessageFilter(IMessageFilter)

Agrega un filtro de mensajes que controla los mensajes de Windows conforme se enrutan a sus destinos.Adds a message filter to monitor Windows messages as they are routed to their destinations.

DoEvents()

Procesa todos los mensajes de Windows que hay actualmente en la cola de mensajes.Processes all Windows messages currently in the message queue.

EnableVisualStyles()

Habilita los estilos visuales para la aplicación.Enables visual styles for the application.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Exit()

Notifica a todos los surtidores de mensajes que deben terminar y, a continuación, cierra todas las ventanas de la aplicación una vez procesados todos los mensajes.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs)

Notifica a todos los surtidores de mensajes que deben terminar y, a continuación, cierra todas las ventanas de la aplicación una vez procesados todos los mensajes.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

ExitThread()

Abandona el bucle de mensajes del subproceso actual y cierra todas las ventanas del subproceso.Exits the message loop on the current thread and closes all windows on the thread.

FilterMessage(Message)

Ejecuta cualquier filtro respecto a un mensaje de ventana y devuelve una copia del mensaje modificado.Runs any filters against a window message, and returns a copy of the modified message.

GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
OleRequired()

Inicializa OLE en el subproceso actual.Initializes OLE on the current thread.

OnThreadException(Exception)

Genera el evento ThreadException.Raises the ThreadException event.

RaiseIdle(EventArgs)

Provoca el evento Idle en escenarios hospedados.Raises the Idle event in hosted scenarios.

RegisterMessageLoop(Application+MessageLoopCallback)

Registra una devolución de llamada para comprobar si el bucle de mensajes se está ejecutando en entornos hospedados.Registers a callback for checking whether the message loop is running in hosted environments.

RemoveMessageFilter(IMessageFilter)

Quita un filtro de mensajes del surtidor de mensajes de la aplicación.Removes a message filter from the message pump of the application.

Restart()

Cierra la aplicación e inicia una nueva instancia inmediatamente.Shuts down the application and starts a new instance immediately.

Run()

Inicia la ejecución de un bucle de mensajes de aplicación estándar en el subproceso actual, sin un formulario.Begins running a standard application message loop on the current thread, without a form.

Run(ApplicationContext)

Inicia la ejecución de un bucle de mensajes de aplicación estándar en el subproceso actual, con un objeto ApplicationContext.Begins running a standard application message loop on the current thread, with an ApplicationContext.

Run(Form)

Inicia la ejecución de un bucle de mensajes de aplicación estándar en el subproceso actual y hace que el formulario especificado esté visible.Begins running a standard application message loop on the current thread, and makes the specified form visible.

SetCompatibleTextRenderingDefault(Boolean)

Establece el valor predeterminado de la aplicación para la propiedad UseCompatibleTextRendering definida en ciertos controles.Sets the application-wide default for the UseCompatibleTextRendering property defined on certain controls.

SetHighDpiMode(HighDpiMode)

Establece el modo con valores altos de PPP del proceso.Sets the high DPI mode of the process.

SetSuspendState(PowerState, Boolean, Boolean)

Suspende o hiberna el sistema o solicita que el sistema se suspenda o hiberne.Suspends or hibernates the system, or requests that the system be suspended or hibernated.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Indica a la aplicación cómo responder a las excepciones no controladas.Instructs the application how to respond to unhandled exceptions.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Indica a la aplicación cómo responder a las excepciones no controladas, aplicando opcionalmente el comportamiento específico del subproceso.Instructs the application how to respond to unhandled exceptions, optionally applying thread-specific behavior.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
UnregisterMessageLoop()

Elimina del Registro la devolución de llamada del bucle de mensajes realizada con RegisterMessageLoop(Application+MessageLoopCallback).Unregisters the message loop callback made with RegisterMessageLoop(Application+MessageLoopCallback).

Eventos

ApplicationExit

Se produce cuando la aplicación se va a cerrar.Occurs when the application is about to shut down.

EnterThreadModal

Se produce cuando la aplicación está a punto de entrar en un estado modal.Occurs when the application is about to enter a modal state.

Idle

Se produce cuando la aplicación termina el procesamiento y se dispone a entrar en estado de inactividad.Occurs when the application finishes processing and is about to enter the idle state.

LeaveThreadModal

Se produce cuando la aplicación está a punto de abandonar un estado modal.Occurs when the application is about to leave a modal state.

ThreadException

Ocurre cuando se produce una excepción de subproceso no interceptada.Occurs when an untrapped thread exception is thrown.

ThreadExit

Se produce cuando se va a cerrar un subproceso.Occurs when a thread is about to shut down. Cuando se va a cerrar el subproceso principal de una aplicación, primero se provoca este evento, seguido de un evento ApplicationExit.When the main thread for an application is about to be shut down, this event is raised first, followed by an ApplicationExit event.

Se aplica a