军 的 (转)c# 托动无边框窗体
第一步: //先定义一个坐标点对象 mypoint
private Point mypoint;第二步:在窗体的点击事件中写 private void Form1_MouseDown(object sender, MouseEventArgs e)
{
//鼠标在窗体内按下时,自动记录鼠标的 x y 值,并将它们改为负数
mypoint = new Point(-e.X,-e.Y);
}第三步:在窗体的鼠标移动事件中写private void Form1_MouseMove(object sender, MouseEventArgs e)
{
/*
鼠标在窗体内移动时,首先判断e.Button按下的是哪个鼠标按钮再判断
* 是否等于左键按下,MouseButtons.Left这句的意思是鼠标左键按下状态
*/
if (e.Button == MouseButtons.Left)
{
/*新建一个坐标点对象,它的坐标等于(Control.MousePosition;)
* 桌面上坐标的位置
*/
Point myposition = Control.MousePosition;
/*
myposition.offset中的Offset是坐标平移的意思,现在将在窗体
* 内点击左键时产生的负数加进来,也就等于 现在鼠标在桌面上的坐标
* 减去鼠标在窗体内的坐标位置,就等于现在窗体的位置
*/
myposition.Offset(mypoint.X, mypoint.Y);
/*
this.DesktopLocation这句的意思是获取或设置窗体在桌面上的位置
* 它的位置来自myposition
*/
this.DesktopLocation = myposition;
}(本文以上转载别人文章) Point myposition = Control.MousePosition;
/*
myposition.offset中的Offset是坐标平移的意思,现在将在窗体
* 内点击左键时产生的负数加进来,也就等于 现在鼠标在桌面上的坐标
* 减去鼠标在窗体内的坐标位置,就等于现在窗体的位置
*/
myposition.Offset(mypoint.X, mypoint.Y);
/*
this.DesktopLocation这句的意思是获取或设置窗体在桌面上的位置
* 它的位置来自myposition
*/
this.DesktopLocation = myposition;
看了很久,看不大懂,如何让窗体移动的,这是个什么原理,为什么要减去mypoint的坐标!请各位高手指点!
第一步: //先定义一个坐标点对象 mypoint
private Point mypoint;第二步:在窗体的点击事件中写 private void Form1_MouseDown(object sender, MouseEventArgs e)
{
//鼠标在窗体内按下时,自动记录鼠标的 x y 值,并将它们改为负数
mypoint = new Point(-e.X,-e.Y);
}第三步:在窗体的鼠标移动事件中写private void Form1_MouseMove(object sender, MouseEventArgs e)
{
/*
鼠标在窗体内移动时,首先判断e.Button按下的是哪个鼠标按钮再判断
* 是否等于左键按下,MouseButtons.Left这句的意思是鼠标左键按下状态
*/
if (e.Button == MouseButtons.Left)
{
/*新建一个坐标点对象,它的坐标等于(Control.MousePosition;)
* 桌面上坐标的位置
*/
Point myposition = Control.MousePosition;
/*
myposition.offset中的Offset是坐标平移的意思,现在将在窗体
* 内点击左键时产生的负数加进来,也就等于 现在鼠标在桌面上的坐标
* 减去鼠标在窗体内的坐标位置,就等于现在窗体的位置
*/
myposition.Offset(mypoint.X, mypoint.Y);
/*
this.DesktopLocation这句的意思是获取或设置窗体在桌面上的位置
* 它的位置来自myposition
*/
this.DesktopLocation = myposition;
}(本文以上转载别人文章) Point myposition = Control.MousePosition;
/*
myposition.offset中的Offset是坐标平移的意思,现在将在窗体
* 内点击左键时产生的负数加进来,也就等于 现在鼠标在桌面上的坐标
* 减去鼠标在窗体内的坐标位置,就等于现在窗体的位置
*/
myposition.Offset(mypoint.X, mypoint.Y);
/*
this.DesktopLocation这句的意思是获取或设置窗体在桌面上的位置
* 它的位置来自myposition
*/
this.DesktopLocation = myposition;
看了很久,看不大懂,如何让窗体移动的,这是个什么原理,为什么要减去mypoint的坐标!请各位高手指点!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货