Zeichnen Sie ein halbtransparentes Overlay-Bild über alle Fenster mit einigen Steuerelementen, so dass alle untergeordneten Steuerelemente sichtbar sein sollten, Sie aber nicht darauf klicken können. Es sollte genau so sein, wie wir einige Dinge durch einen halbtransparenten schwarzen Spiegel sehen.
Ich habe versucht, Transparent-Steuerelement zu verwenden. Das ist das Sub-Classing Panel-Steuerelement und Zeichnungsbild über dieses Steuerelement, jedoch sind alle Steuerelemente vollständig sichtbar.
Dies erfordert ein anderes Formular, das Sie über dem vorhandenen Formular anzeigen. Seine Opacity-Eigenschaft kann den beabsichtigten Effekt erzeugen. Fügen Sie Ihrem Projekt eine neue Klasse hinzu und fügen Sie den unten gezeigten Code ein. Rufen Sie die Close () -Methode auf, um den Effekt wieder zu entfernen.
%Vor%Erstellen Sie ein mehrschichtiges Fenster , das über Ihrem primären Formular gespeichert und mit diesem synchronisiert wird Lage. Sie können das Alpha des geschichteten Fensters mit einem 32-Bit-RGBA-Bild ändern, um den gewünschten Effekt zu erzielen.
Es gibt einen anständigen Codeprojekt-Artikel, der zeigt, wie man hier macht.
Ich glaube, ein einfacherer Ansatz besteht darin, ein transparentes Beschriftungssteuerelement an die Stelle der Deckkraft zu setzen und die AutoSize-Funktion zu deaktivieren und die Beschriftung auf die Größe der zu bearbeitenden Fläche anzupassen.
Wenn Sie die Beschriftung überlagern möchten, senden Sie sie an den Anfang (programmgesteuert) und machen sie sichtbar. Wenn Sie das Overlay deaktivieren möchten, senden Sie es an die Rückseite und machen es unsichtbar.
Ich habe dies mit einem Textlabel gemacht, das mein ganzes Formular überlagert. Ich denke, es würde genauso funktionieren, wenn Sie statt der Text-Eigenschaft des Label-Steuerelements ein halbtransparentes (PNG) Bild festlegen.
Tags und Links c# transparent overlay