¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
SynchronizingObject (Propiedad)
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Process.SynchronizingObject (Propiedad)

Obtiene o establece el objeto utilizado para calcular las referencias de las llamadas del controlador de eventos emitidas como resultado de un evento de terminación del proceso.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

[BrowsableAttribute(false)]
public ISynchronizeInvoke SynchronizingObject { get; set; }

Valor de propiedad

Tipo: System.ComponentModel.ISynchronizeInvoke
ISynchronizeInvoke utilizado para calcular las referencias de las llamadas del controlador de eventos emitidas como resultado de un evento Exited del proceso.

Si el valor de SynchronizingObject es null, se llamará, en un subproceso del grupo de subprocesos del sistema, a los métodos que controlan el evento Exited. Para obtener más información acerca de los grupos de subprocesos del sistema, vea ThreadPool.

Si un componente visual de los formularios Windows Forms, como Button, es el encargado de controlar el evento Exited, es posible que el acceso al componente a través del grupo de subprocesos del sistema no funcione o que se inicie una excepción. Para evitarlo, deberá establecerse el valor de SynchronizingObject en un componente de formularios Windows Forms, de modo que la llamada a los métodos que controlan el evento Exited se realice en el mismo subproceso en el que se creó el componente.

Si se utiliza Process dentro de Visual Studio 2005 en el Diseñador de Windows Forms, la propiedad SynchronizingObject se establece de forma automática en el control que contiene Process. Por ejemplo, si se coloca Process en un diseñador para Form1 (que hereda de Form), la propiedad SynchronizingObject de Process se establece en la instancia de Form1:


this.process1.StartInfo.Domain = "";
this.process1.StartInfo.LoadUserProfile = false;
this.process1.StartInfo.Password = null;
this.process1.StartInfo.StandardErrorEncoding = null;
this.process1.StartInfo.StandardOutputEncoding = null;
this.process1.StartInfo.UserName = "";
this.process1.SynchronizingObject = this;


Normalmente, esta propiedad se establece cuando el componente se incluye en un control o formulario, porque estos componentes están enlazados a un subproceso específico.


   private MyButton button1;
   private void button1_Click(object sender, System.EventArgs e)
   {
      Process myProcess = new Process();
      ProcessStartInfo myProcessStartInfo= new ProcessStartInfo("mspaint");
      myProcess.StartInfo = myProcessStartInfo;
      myProcess.Start();
      myProcess.Exited += new EventHandler(MyProcessExited);
      // Set 'EnableRaisingEvents' to true, to raise 'Exited' event when process is terminated.
      myProcess.EnableRaisingEvents = true;
      // Set method handling the exited event to be called  ;
      // on the same thread on which MyButton was created.
      myProcess.SynchronizingObject = button1;
      MessageBox.Show("Waiting for the process 'mspaint' to exit....");
      myProcess.WaitForExit();
      myProcess.Close();
   }
   private void MyProcessExited(Object source, EventArgs e)
   {
      MessageBox.Show("The process has exited.");
   }
}

public class MyButton:Button
{

}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

    para plena confianza del llamador inmediato. Este miembro no puede ser utilizado por código de confianza parcial.

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft