移動可能なフチなしフォームを作成する
枠なしフォームを作成しても、枠ありフォームと同様に、フォーム自体をクリックして移動することはできますか?
答え:
はい。 CodeProject は詳細なテクニックを提供します:
その中核となるソリューションには以下が含まれます:
<code class="language-c#">public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool ReleaseCapture(); private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ReleaseCapture(); SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } }</code>
このメソッドは、ウィンドウ マネージャーにメッセージを送信することで、ウィンドウのタイトル バーを取得する動作をシミュレートします。タイトル バー領域での左クリックをシミュレートし、枠線付きフォームと同じ移動メカニズムをトリガーします。
以上がフチなしフォームをクリックして移動可能にできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。