Mewujudkan bentuk tingkap tanpa sempadan
Merancang bentuk tanpa sempadan dalam bentuk Windows menawarkan estetika moden yang anggun. Walau bagaimanapun, ini sering memberikan cabaran: Bagaimana untuk membuat bentuk bergerak tanpa bar tajuk biasa atau sempadan? Artikel ini menyediakan penyelesaian menggunakan API Windows.Kunci adalah untuk mensimulasikan klik pada bar tajuk menggunakan fungsi
dan SendMessage
. Panggilan API ini secara berkesan menipu pengurus tingkap untuk memulakan operasi seretan, walaupun jika tiada sempadan yang kelihatan. ReleaseCapture
<code class="language-csharp">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>
borang anda membolehkan anda menyeret dan meletakkan semula borang tanpa sempadan dengan mengklik dan menyeret mana -mana sahaja di dalam kawasan klien borang. Ini menyediakan fungsi yang dikehendaki tanpa menjejaskan reka bentuk yang bersih dan tanpa sempadan. MouseDown
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Borang Tanpa Sempadan Boleh Alih dalam Borang Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!