C#winform可视化(当主窗体不能拖动时)

1.当form主窗体的FormBorderStyle属性为none时候,就说明设置了主窗体没有边框,这时就不能随意拖动

这时就要选中主窗体,选择右下角的事件(闪电标志的按钮),找到鼠标类型的事件,设置MouseDown事件进行窗体拖动,首先要进行导入命名空间using System.Runtime.InteropServices;
然后在MouseDown事件中添加如下代码:

C#winform可视化(当主窗体不能拖动时)_第1张图片

直接进行拷贝放进相应的事件就行

ReleaseCapture();
SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0);

上面的操作完毕后,就将以下代码块放到这个事件的上面或者下面,别嵌套在事件代码块里面就行

        [DllImport("User32.DLL")]
        public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
        [DllImport("User32.DLL")]
        public static extern bool ReleaseCapture();
        public const uint WM_SYSCOMMAND = 0x0112;
        public const int SC_MOVE = 61456;
        public const int HTCAPTION = 2;

这样在允许窗体的时候就可以随意拖动啦

你可能感兴趣的:(C#可视化程序设计,c#)