.NETでは、非透過フォームをクリックして作成できますか?フォームのすぐ後ろにマウスのクリックをウィンドウに移すためのAPIがあるはずだと思います。どれ?.NETの不透明なクリックスルーフォーム
0
A
答えて
2
フォームのリンク先を作成するには、Windows APIからいくつかの関数をP/Invokeし、フォームのextended window stylesを設定する必要があります。 VB.NETでサンプルコードを表現することを任意に選択しました。それがあなたの好みでないなら、それは簡単にC#に変換されます。
GetWindowLong
functionで始まります。これを拡張ウィンドウスタイルの取得に使用します。
Public Const GWL_EXSTYLE As Integer = -20
<DllImport("user32.dll", CharSet:=CharSet.Auto)> _
Public Shared Function GetWindowLong(ByVal hWnd As IntPtr, _
ByVal nIndex As Integer) As Integer
End Function
また、追加の拡張ウィンドウスタイルを指定するには、その姉妹機能、SetWindowLong
が必要になります。
<DllImport("user32.dll", CharSet:=CharSet.Auto)> _
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, _
ByVal nIndex As Integer, _
ByVal dsNewLong As Integer) As Integer
End Function
そして設定する必要があります、拡張ウィンドウスタイルのための定数:
Public Const WS_EX_TRANSPARENT As Integer = &H20
をそして今、このすべてを使用するには、フォームのOnLoad
methodをオーバーライドして、次の行を追加することができます:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
''# Call the base class implementation
MyBase.OnLoad(e)
''# Grab the current extended style information for this form
Dim initialStyles As Integer = GetWindowLong(Me.Handle, GWL_EXSTYLE)
''# Add the transparent extended window style
Dim newStyles As Integer = initialStyles Or WS_EX_TRANSPARENT
''# Update the form's extended window styles
SetWindowLong(Me.Handle, GWL_EXSTYLE, newStyles)
End Sub
もちろん、ユーザーがフォーム上の要素とやりとりすることは不可能になることに注意してください。 極端にそれを閉じるのは難しいです。これが本当にあなたがしたいことであるかどうかを慎重に検討してください。
関連する問題
- 1. 透明なWPFの不透明要素
- 2. C#コンソールの不透明度/透明度
- 3. 透明なJavaウィンドウ上の不透明なコンポーネント
- 4. Qt不透明なカラーブラシ?
- 5. Java - 不透明な色
- 6. 透明なBGと不透明なフォアグラウンドを持つiOSモーダルViewController
- 7. 透明な背景、不透明な要素
- 8. PHP:不透明度のJPEGに透明なPNGを追加
- 9. WPF透明性と透明と不透明
- 10. flash as3 tween不透明子要素の不透明度に影響しない
- 11. Silverlight不透明クリップ
- 12. 不透明度 - glubyte
- 13. IE8不透明エラー
- 14. テキストシャドー不透明度
- 15. CALayer不透明アニメーション
- 16. ccDrawLine不透明度?
- 17. UIView:不透明vs.アルファvs.不透明度
- 18. ドラッグイメージを半透明でなく不透明にする
- 19. フィルタ:プログラムID: プログラムID:DXImageTransform.Microsoft.Alpha(スタイル= 1、不透明度= 80 ) 不透明DXImageTransform.Microsoft.Alpha(スタイル= 1、不透明度= 80)
- 20. OpenGLの不要な透明度
- 21. 背景の不透明度
- 22. キーボードの不透明度
- 23. ファンシーボックスサムネイルの不透明度
- 24. ポリゴンの不透明度
- 25. CSS3プロパティの不透明度
- 26. カスタムUIButtonの不透明度
- 27. は、IMGの不透明度
- 28. jQueryの不透明ループ
- 29. .NET Compact Frameworkの透明なユーザーコントロール
- 30. 透明度が不透明度が1未満の場合は透明にならない
WinFormsまたはWPF? (また、これは非常に奇妙な要求のように思えますが、ユーザーは通常、不透明なウィンドウがマウスイベントを受け取ることを期待しています) –
フォームが不透明な場合にクリックするものをユーザーが把握する方法を提案しますか? –