Frage

Ich versuche eine Anwendung zu erstellen, die ein Fenster (extern zur App) transparent macht, wenn es den Fokus verliert. Die meisten Dinge (Fenster -ID, transparentes Set usw.

War es hilfreich?

Lösung

Sie können Interop verwenden. Verwenden Nachricht senden() Funktion zum Senden Ihres Fensters eine benutzerdefinierte Nachricht. Das Fenster kann dann anrufen SetlayeredWindowattributes () Sobald Sie diese Nachricht erhalten, um ihre Transparenz zu ändern.

Die andere Sache ist, dass Sie wirklich in der Lage sein sollten, das Fenster selbst transparent zu machen, wenn es den Fokus verliert, indem Sie nach hören Wm_killfocus

BEARBEITEN:

Verrissen Sie sich an die deaktivierten und aktivierten Ereignisse in C#.

    private void Form1_Deactivate( object sender, EventArgs e )
    {
      this.Opacity = 0.5 ;
    }

    private void Form1_Activated( object sender, EventArgs e )
    {
      this.Opacity = 1.0 ;
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top