Irgendwelche Vorschläge, wie man eine schwebende Werkzeugpalette im Stil von Photoshop erstellen kann? Ich habe mehrere Ideen versucht, wie zum Beispiel:
- Erstellen eines untergeordneten Fensters, Einstellen seines FormBorderStyle auf FixedToolWindow und Anzeigen als untergeordnetes Fenster des Hauptformulars, aber das Werkzeugfenster stiehlt den Fokus vom Hauptformular.
- Erstellen eines untergeordneten Fensters wie oben und mit verschiedenen Kombinationen von Flags an CreateParams übergeben, aber immer noch in den gleichen Fokus Probleme laufen.
- Erstellen der Werkzeugpalette als UserControl und und "Floating es", indem Sie seine übergeordneten den Desktop (über die Funktion user32#SetParent) sein, aber dann ist es nicht mehr ein Kind des Hauptformulars und nicht minimieren/Wiederherstellen mit dem Hauptformular.
Ich denke, #3 ist der Weg zu gehen, und ich werde den Code zu schreiben, um die Werkzeugpalette-Fenster-Status synchron mit dem Hauptformular zu halten sowie die Fähigkeit zu implementieren, ziehen Sie die Palette um, zeichnen Sie Grenzen, etc...
Haben Sie Vorschläge, wie man dieses Problem besser lösen kann?