c# 鼠标在控件上拖动 移动窗体 移动窗口
#region 移动窗体 移动窗口
private Point _mousePoint;
private int topA(Control cc)
{
if (cc == null || cc == this) return 0;
if (cc.Parent == null || cc.Parent == this)
return cc.Top;
else
return topA(cc.Parent) + cc.Top;
}
private int leftA(Control cc)
{
if (cc == null || cc == this) return 0;
if (cc.Parent == null || cc.Parent == this)
return cc.Left;
else
return leftA(cc.Parent) + cc.Left;
}
private void labTitle_MouseDown(object sender, MouseEventArgs e)
{
Control cc = (Control)sender;
if (e.Button == MouseButtons.Left)
{
_mousePoint.X = e.X + leftA(cc);
_mousePoint.Y = e.Y + topA(cc);
}
}
private void labTitle_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Top = MousePosition.Y - _mousePoint.Y;
Left = MousePosition.X - _mousePoint.X;
}
}
#endregion
c# 鼠标在控件上拖动 移动窗体 移动窗口的更多相关文章
- (转)C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上
原文地址:http://www.cnblogs.com/08shiyan/archive/2011/04/14/2015758.html /********************** * 课题:将窗 ...
- Qt判断鼠标在控件上
QT判断鼠标是否在某子窗口控件上方 需要注意的是,子窗口获取geometry,是相对于父窗口的相对位置,QCursor::pos()获取的是鼠标绝对位置,要不将父窗口的相对位置进行换算,要不将鼠标的绝 ...
- C#如何在panl控件上添加Form窗体
. if (treeView1.SelectedNode.Text == "个人信息") { Form1 f4 = new Form1(); f4.TopLevel = false ...
- 在WPF中的Canvas上实现控件的拖动、缩放
如题,项目中需要实现使用鼠标拖动.缩放一个矩形框,WPF中没有现成的,那就自己造一个轮子:) 造轮子前先看看Windows自带的画图工具中是怎样做的,如下图: 在被拖动的矩形框四周有9个小框,可以从不 ...
- Unity编辑器 - 鼠标悬停在控件上时改变鼠标样式
Unity编辑器 - 鼠标悬停在控件上时改变鼠标样式 摘自Unity文档 EditorGUIUtility.AddCursorRect public static void AddCursorRect ...
- c# 鼠标点击控件即拖动窗体
在编程中,有时打开的窗体没有边框,但是我们仍然想在鼠标放在窗体上就能拖动窗体,这样我们只需要以窗体中的一个控件为参考,我们在这里以panel为例子: public class PanelNew : P ...
- C#中,当鼠标移动到控件上,动态显示提示内容 ToolTip
[背景]写了个C#的小程序,其中在Settings窗体中有些配置参数,希望在鼠标移动到对应的配置选项上,动态显示相关的说明解释内容. [解决过程]1.原先就已经知道,有些控件,是带ToolTipTex ...
- VC/MFC 当鼠标移到控件上时显示提示信息
VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法 ...
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主 ...
随机推荐
- iOS-UITableView性能优化
使用不透明视图. 不透明的视图可以极大地提高渲染的速度.因此如非必要,可以将table cell及其子视图的opaque属性设为YES(默认值).其中的特例包括背景色,它的alpha值应该为1 ...
- ld链接问题解决
http://stackoverflow.com/questions/480764/linux-error-while-loading-shared-libraries-cannot-open-sha ...
- JavaScript数据结构——数组
参考书籍:<学习JavaScript数据结构与算法>
- 博客Mac桌面编辑器-cnblogs
Mac篇 公司的机器内存只有8G,不想再大动干戈为了Windows Live Writer装个Vmware了,谷歌娘讲MarsEdit不错,那就试试用这个写个试用贴呗 就是这货了,果然是火星来的, ...
- SlidingMenu实战系列
http://blog.csdn.net/yangyu20121224/article/category/1431917
- tyvj1013 - 找啊找啊找GF ——二维背包变种
题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1013 好吧,这题没节操=_= 状态f[u,v,i]表示:消费u的人民币和v的人品同时泡到i个mm所需要的 ...
- html部分---认识html静态网页;
html分类:1.静态网页(html/htm) 2.动态网页 区别:动态网页不需要改动源代码,容易修改 css样式表:美化网页 js:脚本语言,增 ...
- 不小心误删@‘local’操作恢复
今天在测试用户权限的时候不小心把User: ''@'localhost';用户删除了 导致任何用户登录都无权限操作 恢复过程 停止mysql服务:在mysql安装目录下找到my.ini(linux下是 ...
- js类型判断
console.log('---------------------'); var a="string"; console.log(a); //string var a=1; co ...
- 简单播放系统提示音 android
//Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); //alert = RingtoneManager.g ...