C# 无边框窗体之窗体移动_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C# 无边框窗体之窗体移动

C# 无边框窗体之窗体移动

 2013/10/5 11:47:18  梦琪小生  博客园  我要评论(0)
  • 摘要:点击窗体任意位置移动窗体:需要添加命名空间:usingSystem.Runtime.InteropServices;privateconstintWM_NCLBUTTONDOWN=0x00A1;privateconstintHTCAPTION=2;[DllImport("user32.dll",CharSet=CharSet.Unicode)]publicstaticexternIntPtrSendMessage(IntPtrhwnd,intwMsg,IntPtrwParam
  • 标签:C#

点击窗体任意位置移动窗体:

需要添加命名空间:

using System.Runtime.InteropServices;

 

class="code_img_closed" src="/Upload/Images/2013100511/0015B68B3C38AA5B.gif" alt="" />logs_code_hide('6cbd9f21-bcc7-409a-a9ce-0bf8ade74e71',event)" src="/Upload/Images/2013100511/2B1B950FA3DF188F.gif" alt="" />
private const int WM_NCLBUTTONDOWN = 0x00A1;
private  const int HTCAPTION = 2;
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern bool ReleaseCapture();

protected override void OnMouseDown( MouseEventArgs e )
{
    base.OnMouseDown( e );
    if (e.Button == MouseButtons.Left)  // 按下的是鼠标左键              
    {
        ReleaseCapture();   // 释放捕获                 
        SendMessage(this.Handle, WM_NCLBUTTONDOWN, (IntPtr)HTCAPTION, IntPtr.Zero);    // 拖动窗体              
    }
}
View Code


原文地址:http://blog.sina.com.cn/s/blog_4982f49901013wlf.html

上一篇: 马斯克公开信:解释Tesla Model S起火原因 下一篇: 没有下一篇了!
发表评论
用户名: 匿名