Form Mobile API
[DllImport ("User32.dll")]
public static extern bool ReleaseCapture ();
[DllImport ("User32.dll")]
public static extern bool SendMessage (INTPTR hwnd, int wmsg, int wParam, int iparam);
public const int wm_syscommand = 0x0112;
public const int sc_move = 0xf010;
public const int htcaption = 0x0002;
[DllImport ("user32")]
private static extern int SendMessage (INTPTR hwnd, int wmsg, int wParam, IntPtr lParam);
Private Const int wm_setredraw = 0xB;
private void Form1_mousedown (object sender, MouseEventArgs e)
{
if (this. WindowState = = formwindowstate.normal)
{
ReleaseCapture ();
SendMessage (this. Handle, Wm_syscommand, Sc_move + htcaption, 0);
}
}
Form Shadows
1. Add a namespace:
Using System.Runtime.InteropServices;
2. Define constant values and functions:
Private Const int Cs_dropshadow = 0x20000;
Private Const int Gcl_style = (-26);
[DllImport ("user32.dll", CharSet = CharSet.Auto)]
public static extern int Setclasslong (INTPTR hwnd, int nIndex, int dwnewlong);
[DllImport ("user32.dll", CharSet = CharSet.Auto)]
public static extern int Getclasslong (INTPTR hwnd, int nIndex);
3, the construction method under the reference:
Setclasslong (this. Handle, Gcl_style, Getclasslong (this. Handle, Gcl_style) | Cs_dropshadow);
WINFORM Borderless form Shadow and move