Frage

habe ich eine Platte und legen Sie es auf den Bildschirm zu füllen, jetzt kann ich die Fenster unter ihm sehen, aber ich möchte es durchklicken sein, das heißt, sie könnten auf eine Datei oder einen Werkzeugspitze eines anderen Objekts durch die Transparenz sehen.

  
    

RE: Dies kann zu offensichtlich sein, aber haben Sie versucht, das Panel auf der Rückseite mit einem rechten Mausklick das Senden und „In den Hintergrund“

Auswahl   

Ich meine, wie der Desktop oder firefox, nicht etwas in meinem Projekt.

War es hilfreich?

Lösung

eine Top-Level Form schaffen, die transparent ist, ist sehr einfach. machen es einfach auf den Bildschirm füllen, oder benötigte Fläche und definieren sie eine TransparenyKey Farbe und Backcolor den gleichen Wert zu haben.

Ankommen es um die Maus zu ignorieren ist einfach genug, man muss nur die WndProc überschreiben und die WM_HITTEST sagen, dass alle Mauspositionen als transparent behandelt werden sollen. So verursacht die Maus zu interagieren, was unter dem Fenster passiert zu sein. So etwas wie dies ...

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == (int)WM_NCHITTEST)
            m.Result = (IntPtr)HTTRANSPARENT;
        else
            base.WndProc(ref m);
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top