Cómo obtener el foco del formulario winform
//llamar API
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto , ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow(); //Obtener el identificador de este formulario
[System.Runtime.InteropServices.DllImport("user32.dll" , CharSet = System.Runtime.InteropServices.CharSet.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
public static extern bool SetForegroundWindow(IntPtr hWnd); ventana activa
//definir la variable, manejar el tipo
public IntPtr han
Cuando se carga el formulario, el valor de la variable, es decir, el actual. ventana El identificador del cuerpo se asigna a la variable:
El código es el siguiente:
void Form1_Load(object sender, EventArgs e)
{
han = this.Handle;
Cuando se carga el formulario, asigne el valor de la variable, es decir, el identificador del formulario actual, a la variable:
El código es el siguiente Handle;
timer2.Enabled = true;
}
/ Cargue el control del temporizador, verifique si el identificador actual de WINDOWS es el igual que el identificador de este formulario, si no, actívalo. El formulario
El código es el siguiente:
private void timer2_Tick(object sender, EventArgs e)
{
if (han ! = GetForegroundWindow ())
{
SetForegroundWindow(han);
} p>
}
}