C# winform 实现(不规则)窗体或者控件的拖动
来源:互联网 发布:c#数据库操作 编辑:程序博客网 时间:2024/05/18 02:10
转的这篇 日志更令我感兴趣的是base的用法和对事件的重写
方法一: 窗体或者控件的拖动
private Point m_MousePoint;
private Point m_LastPoint;
protected override void On
{
base.On
this.m_LastPoint = this.Location;
this.m_MousePoint = this.PointToScreen(e.Location);
}
protected override void On
{
base.On
if (e.Button == MouseButtons.Left)
{
Point t = this.PointToScreen(e.Location);
Point l = this.m_LastPoint;
l.Offset(t.X - this.m_MousePoint.X, t.Y - this.m_MousePoint.Y);
this.Location = l;
}
}
1 代码直接复制到窗体上就可以使用.
2 可以用到UserControl上,UserControl就成了一个可拖动的控件了
3 可以用到自定义控件上,例如:自定义控件继承了一个Button ,然后写上上面代码,那么这个自定义Button就可以在Form窗体上随处拖动....
方法二: 不规则窗体拖动
using System.Runtime.InteropServices;
[DllImp
public static extern bool ReleaseCapture();
[DllImp
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;
public void ShapedForm_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
方法二:比较好 ,能够画出 虚线框,跟Windows的窗体拖动一样...........
- C# winform 实现(不规则)窗体或者控件的拖动
- C# winform 实现(不规则)窗体或者控件的拖动
- C# winform 实现窗体或者控件的拖动
- c# WinForm实现窗体上控件的自由拖动
- WinForm实现窗体上控件的自由拖动
- WinForm实现窗体上控件的自由拖动
- Winform不规则窗体的实现心得
- C# winform制作不规则窗体
- C# WinForm控件的拖动和缩放的实现
- C# WinForm控件的拖动和缩放的实现
- C# WinForm控件的拖动和缩放的实现
- C#:生成基于WinForm的不规则窗体或控件
- C# winform中不规则窗体制作的解决方案
- C# winform中不规则窗体制作的解决方案
- C# winform中不规则窗体制作的解决方案 转
- 类似360的拖动窗体,不规则窗体
- C# WinForm自定义拖动窗体
- C# winform实现鼠标左键拖动窗体
- 360安全卫士的云查杀原理介绍[转]
- keil配置 编译两次 部分编译成全编译 source insight编辑报警解决
- 面试70问经典回答,先转着,以后会用到的
- 连接和编辑多线
- Centos搭建Samba
- C# winform 实现(不规则)窗体或者控件的拖动
- C# winform中不规则窗体制作的解决方案 转
- [转]Web开发人员必备的20款 jQuery插件
- Tomcat 7.0的安装和配置详细说明 转
- 好的编程习惯 转百度
- 教育网的DNS
- 【整理】如何申请WP8开发者证书信息
- 教育网的DNS
- 教育网的DNS