タイトルバーをドラインしてフォームを移動し、マウスボタンを押したまま不透明度を100%にリセットすると、Winformの不透明度を50%に設定するにはどうすればよいですか?移動するときにフォームを部分的に透明にするにはどうすればよいですか?
0
A
答えて
2
フォームのWndProcでWM_NCLBUTTONDOWNに応答してForm.Opacityを0.5に設定します。
WM_NCLBUTTONUPを受け取ったら、不透明度を1.0に設定します。
2
は、ここでは、コードの例です:
public partial class Form1 : System.Windows.Forms.Form
{
private const long BUTTON_DOWN_CODE = 0xa1;
private const long BUTTON_UP_CODE = 0xa0;
private const long WM_MOVING = 0x216;
static bool left_button_down = false;
protected override void DefWndProc(ref System.Windows.Forms.Message m)
{
//Check the state of the Left Mouse Button
if ((long)m.Msg == BUTTON_DOWN_CODE)
left_button_down = true;
else if ((long)m.Msg == BUTTON_UP_CODE)
left_button_down = false;
if (left_button_down)
{
if ((long)m.Msg == WM_MOVING)
{
//Set the forms opacity to 50% if user is moving
if (this.Opacity != 0.5)
this.Opacity = 0.5;
}
}
else if (!left_button_down)
if (this.Opacity != 1.0)
this.Opacity = 1.0;
base.DefWndProc(ref m);
}
}
3
興味深いことに、あなたはそれがOnResizeBeginで行うも可能とOnResizeEndが上書きされます - これは、両方の移動や、フォームのサイズを変更するに適用されます。
不透明度を変更したいときは、移動するときのみで、サイズを変更しないときは、アレックスの答えが良い。
関連する問題
- 1. フォームの一部をC#で部分的に透明にするにはどうすればよいですか?
- 2. 部分的なメソッドの他の部分に移動するにはどうすればいいですか?
- 3. 完全に透明なJFrame上で部分的に透明なJButtonを作成するにはどうすればよいですか?
- 4. ビューを50%透明にするにはどうすればよいですか?
- 5. 透明なDirectXコンテンツを透明なウィンドウに描画するにはどうすればよいですか?
- 6. ウェブページの異なる部分を動的に更新するにはどうすればよいですか?
- 7. Delphiを使用して、部分的に透明なイメージをPDFキャンバスに印刷するにはどうすればよいですか?
- 8. データベースを内部メモリから外部メモリに移動するにはどうすればよいですか?
- 9. コードの他の部分に値を動的に追加するにはどうすればいいですか?
- 10. GDでPHPで部分透過性を設定するにはどうすればよいですか?
- 11. フォーカスを取得するときにテキストボックスビューポートを移動するにはどうすればよいですか?
- 12. 私は、エンティティフレームワークの中で部分的実体のカスタムプロパティを移入するにはどうすればよい
- 13. 動的に生成されたフォームをAJAXに提出するにはどうすればよいですか?
- 14. 機能が部分的かどうかを確認するにはどうすればよいですか?
- 15. フォームのslideUp()の部分をユーザーに表示するにはどうすればよいですか?
- 16. Java Swing:ダイアログを部分的に透明にします。
- 17. メニューの不透明度を手動で制御するにはどうすればよいですか?
- 18. 部分的にネストされたリソースフルルートを設定するにはどうすればよいですか?
- 19. イメージをあるレベルまで不透明にするにはどうすればよいですか?
- 20. 部分的なストリームに基づいてビデオを再生するにはどうすればよいですか?
- 21. BlackBerryですばらしい透明なPNGを取得するにはどうすればよいですか?
- 22. エッジが透明にならずにCSSブラーフィルターを使用するにはどうすればよいですか?
- 23. 「ページに移動」フォームを作成するにはどうすればよいですか?
- 24. 動的に拡張するWebフォームを処理するにはどうすればよいですか?
- 25. 入力フィールドをフォームに動的に追加するにはどうすればよいですか?
- 26. 動的テキストの部分文字列の数を調べるにはどうすればよいですか?
- 27. C++でポインタを移動するにはどうすればよいですか?
- 28. IntelliJでツールバーを移動するにはどうすればよいですか?
- 29. iPhoneでMkMapView.userLocationを移動するにはどうすればよいですか?
- 30. node.jsでファイルを移動するにはどうすればよいですか?
あなたはどの言語を使用していますか? – lmsasu
@Imsasu:WinFormsは、.NETで使用されるフォームの非公式の名前です。 – Powerlord