首页 > 编程 > C# > 正文

c#实现无标题栏窗口的拖动

2020-01-24 03:14:10
字体:
来源:转载
供稿:网友
当把窗体的FormBorderStyle属性设为None后会导致边框没了,结果窗体无法用鼠标拖动、最大、最下化和关闭……

下面解决窗体可拖动问题:
1.首先导入命名空间:
复制代码 代码如下:

using System.Runtime.InteropServices;

2.然后如下代码:
复制代码 代码如下:

[DllImport("user32.dll")]
        public static extern IntPtr SendMessage(IntPtr hWnd,int msg,int wparam,int lparam);
        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);
            if (e.Button == MouseButtons.Left)//按下的是鼠标左键           
             {
              Capture = false;//释放鼠标使能够手动操作               
                SendMessage(Handle, 0x00A1, 2, 0);//拖动窗体           
             }
        }

关于最小化、最大化和关闭按钮,则可以利用按钮控件,再把按钮控件的背景图片设为相应的图片,再在各自的单击事件中指明所需操作即可,这样不仅可以实现最大、最小、关闭的功能,还可以将这些按钮美化。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表