小弟最近在学习些 创建不规则窗体,参考了某培训机构的文章 http://www.ft77.net/cjc/424.html ,
但是有一点不明白,就是鼠标按下时的坐标要转换成负数,具体请看下面的:
================================================================================
创建窗体的MouseDown事件的事件处理函数。为该事件添加代码后,用户就可以在任何位置移动窗体了。代码如下:
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
//为什么这里的坐标要转换成付的?????????????
mouse_offset = new Point(-e.X, -e.Y);
}
=================================================================================
麻烦了,谢谢
只是记录一个偏移而已,正负取决于你后面计算时如何使用。你要愿意,也可以不用写成负数。
但是,如果不是负数的话就会造成偏移
@小吴99:
没看你具体的代码,但是可以猜到后面的代码应该类似于
this.Top += e.X + mouse_offset.X;
this.Left += e.Y + mouse_Offset.Y;
如果不用负数则计算方式改成如下
this.Top += e.X - mouse_offset.X;
this.Left += e.Y - mouse_Offset.Y;