Application Clase

Definición

Proporciona métodos y propiedades static para administrar una aplicación, como métodos para iniciar y detener una aplicación o para procesar mensajes de Windows, y propiedades para obtener información sobre una aplicación. Esta clase no puede heredarse.

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. Cada vez que haga clic en button1, la aplicación agrega otro número a la lista.

El Main método llama Run a para iniciar la aplicación, que crea el formulario listBox1 y button1. Cuando el usuario hace clic en button1, el button1_Click método muestra un MessageBox. Si el usuario hace clic No en MessageBox, el button1_Click método agrega un número a la lista. Si el usuario hace clic en Yes, la aplicación llama Exit a para procesar todos los mensajes restantes de la cola y, a continuación, para salir.

Nota

La llamada a Exit producirá un error en la confianza parcial.

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 Application clase tiene métodos para iniciar y detener aplicaciones y subprocesos, y para procesar mensajes de Windows, como se indica a continuación:

  • Run inicia un bucle de mensaje de aplicación en el subproceso actual y, opcionalmente, hace que un formulario sea visible.

  • Exit o ExitThread detiene un bucle de mensajes.

  • DoEvents procesa los mensajes mientras el programa está en un bucle.

  • AddMessageFilter agrega un filtro de mensajes a la bomba de mensajes de la aplicación para supervisar los mensajes de Windows.

  • IMessageFilter permite impedir que se genere un evento o realice operaciones especiales antes de invocar un controlador de eventos.

Esta clase tiene CurrentCulture propiedades y CurrentInputLanguage para obtener o establecer información de referencia cultural para el subproceso actual.

No se puede crear una instancia de esta clase.

Propiedades

AllowQuit

Obtiene un valor que indica si el llamador puede cerrar la aplicación.

ColorMode

Proporciona métodos y propiedades static para administrar una aplicación, como métodos para iniciar y detener una aplicación o para procesar mensajes de Windows, y propiedades para obtener información sobre una aplicación. Esta clase no puede heredarse.

CommonAppDataPath

Obtiene la ruta de acceso de los datos de aplicación compartidos por todos los usuarios.

CommonAppDataRegistry

Obtiene la clave del Registro de los datos de aplicación compartidos por todos los usuarios.

CompanyName

Obtiene el nombre de la compañía asociado a la aplicación.

CurrentCulture

Obtiene o establece la información de referencia cultural del subproceso actual.

CurrentInputLanguage

Obtiene o establece el idioma de entrada actual para el subproceso actual.

ExecutablePath

Obtiene la ruta de acceso del archivo ejecutable que inició la aplicación, incluido el nombre del archivo ejecutable.

HighDpiMode

Obtiene el modo con valores altos de PPP actual para la aplicación.

IsDarkModeEnabled

Proporciona métodos y propiedades static para administrar una aplicación, como métodos para iniciar y detener una aplicación o para procesar mensajes de Windows, y propiedades para obtener información sobre una aplicación. Esta clase no puede heredarse.

LocalUserAppDataPath

Obtiene la ruta de acceso de los datos de aplicación de un usuario local no móvil.

MessageLoop

Obtiene un valor que indica si existe un bucle de mensajes en el subproceso.

OpenForms

Obtiene una colección de formularios abiertos que posee la aplicación.

ProductName

Obtiene el nombre de producto asociado a la aplicación.

ProductVersion

Obtiene la versión de producto asociada a la aplicación.

RenderWithVisualStyles

Obtiene un valor que especifica si la aplicación actual dibuja los controles con estilos visuales.

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.

StartupPath

Obtiene la ruta de acceso del archivo ejecutable que inició la aplicación, sin incluir el nombre del archivo ejecutable.

SystemColorMode

Proporciona métodos y propiedades static para administrar una aplicación, como métodos para iniciar y detener una aplicación o para procesar mensajes de Windows, y propiedades para obtener información sobre una aplicación. Esta clase no puede heredarse.

UserAppDataPath

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

UserAppDataRegistry

Obtiene la clave del Registro de los datos de aplicación de un usuario.

UseVisualStyles

Obtiene un valor que indica si los estilos visuales están habilitados para la aplicación.

UseWaitCursor

Obtiene o establece si el cursor de espera se utiliza para todos los formularios abiertos de la aplicación.

VisualStyleState

Obtiene un valor que especifica cómo se van a aplicar los estilos visuales a las ventanas de la aplicación.

Métodos

AddMessageFilter(IMessageFilter)

Agrega un filtro de mensajes que controla los mensajes de Windows conforme se enrutan a sus destinos.

DoEvents()

Procesa todos los mensajes de Windows que hay actualmente en la cola de mensajes.

EnableVisualStyles()

Habilita los estilos visuales para la aplicación.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(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.

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.

ExitThread()

Abandona el bucle de mensajes del subproceso actual y cierra todas las ventanas del subproceso.

FilterMessage(Message)

Ejecuta cualquier filtro respecto a un mensaje de ventana y devuelve una copia del mensaje modificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OleRequired()

Inicializa OLE en el subproceso actual.

OnThreadException(Exception)

Genera el evento ThreadException.

RaiseIdle(EventArgs)

Genera el evento Idle en escenarios hospedados.

RegisterMessageLoop(Application+MessageLoopCallback)

Registra una devolución de llamada para comprobar si el bucle de mensajes se está ejecutando en entornos hospedados.

RemoveMessageFilter(IMessageFilter)

Quita un filtro de mensajes del surtidor de mensajes de la aplicación.

Restart()

Cierra la aplicación e inicia una nueva instancia inmediatamente.

Run()

Inicia la ejecución de un bucle de mensajes de aplicación estándar en el subproceso actual, sin un formulario.

Run(ApplicationContext)

Inicia la ejecución de un bucle de mensajes de aplicación estándar en el subproceso actual, con un 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.

SetColorMode(SystemColorMode)

Proporciona métodos y propiedades static para administrar una aplicación, como métodos para iniciar y detener una aplicación o para procesar mensajes de Windows, y propiedades para obtener información sobre una aplicación. Esta clase no puede heredarse.

SetCompatibleTextRenderingDefault(Boolean)

Establece el valor predeterminado para toda la aplicación para la UseCompatibleTextRendering propiedad definida en determinados controles.

SetDefaultFont(Font)

Establece el valor predeterminado Font para el proceso.

SetHighDpiMode(HighDpiMode)

Establece el modo con valores altos de PPP del proceso.

SetSuspendState(PowerState, Boolean, Boolean)

Suspende o hiberna el sistema o solicita que el sistema se suspenda o hiberne.

SetUnhandledExceptionMode(UnhandledExceptionMode)

Indica a la aplicación cómo responder a las excepciones no controladas.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

Indica a la aplicación cómo responder a las excepciones no controladas, aplicando opcionalmente el comportamiento específico del subproceso.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UnregisterMessageLoop()

Anula el registro de la devolución de llamada del bucle de mensajes realizada con RegisterMessageLoop(Application+MessageLoopCallback).

Eventos

ApplicationExit

Se produce cuando la aplicación se va a cerrar.

EnterThreadModal

Se produce cuando la aplicación está a punto de entrar en un estado modal.

Idle

Se produce cuando la aplicación termina el procesamiento y se dispone a entrar en estado de inactividad.

LeaveThreadModal

Se produce cuando la aplicación está a punto de abandonar un estado modal.

ThreadException

Ocurre cuando se produce una excepción de subproceso no interceptada.

ThreadExit

Se produce cuando se va a cerrar un subproceso. Cuando el subproceso principal de una aplicación está a punto de cerrarse, se genera primero este evento, seguido de un evento ApplicationExit.

Se aplica a