2016-11-13 8 views
0

WFで半透明の背景を持つデスクトップボーダーレスウィジェットを作成したいと思います。C#WF半透明フォーム

enter image description here

しかし、今の運を持つ:このように。私は達成することができますすべてが

this.Opacity = .4; 

私も背景画像との併用TransparencyKeyに費やすいくつかの時間と

this.BackColor = Color.Black; 
this.TransparencyKey = this.BackColor; 

または全体の形との完全な背景の透明度ですが、結果はちょうど黒の背景でした。

完全に欲しい2つのフォーム1をテキストで完全に透明にし、2番目を不透明にして作成しましたが、移動中に最初のウィンドウを維持できないため、テキストが淡くなりました。

これをWFで作成する可能性はありますか、QTまたはアンソーサーウィンドウライブラリを探す必要があります。

+0

レイヤードウィンドウを使用できます。たとえば、[Windows Form Transparent Background Image](http://stackoverflow.com/a/33531201/3110834)をご覧ください。 –

+0

通常、2つのウィンドウのサンドイッチが必要です。下のものは不透明度を使用し、上のものはTransparencyKeyを使用します。しかし、予測不可能な背景にテキストを表示することは、一般的にはかなり悪い考えです。標準的なアンチエイリアシング効果はもはや正しく機能せず、文字のシェイプをバックグラウンドにブレンドしません。彼らはかなり目に見えるようになり、テキストは醜く見えます。 Graphics.CopyFromScreen()でスクリーンショットを作成し、そのビットマップをalpha <255のブラシで変更し、その上にテキストを描画するだけです。スプラッシュスクリーンでうまく動作します。 –

+0

ハンス私はサンドイッチを作って、フォントは大丈夫だと思われますが、背景が透明な場合、ウィンドウをクリックして下にあるものを選択することができます。 – Sajgoniarz

答えて

0

調査の数日後、私はWindows 10で動作する解決策を見つけられませんでした。それに対応する方法はないようです。だから私は簡単に作ることができるWPFでこのプロジェクトを作成することで終了しました。

関連する問題