顺便说一句!我做了一个test程序用来测试鼠标位置的页面,屏幕,设备坐标以及光标坐标的程序!
竟然发现我的光标坐标和屏幕坐标不是同样的值!!!
使我的操作系统的bug?
抑或是.net framework 的bug?
抑或是vs.net的bug?
抑或是我的bug?
竟然发现我的光标坐标和屏幕坐标不是同样的值!!!
使我的操作系统的bug?
抑或是.net framework 的bug?
抑或是vs.net的bug?
抑或是我的bug?
解决方案 »
- C# VS2008中C#程序的一个问题
- C#替换
- 如何判断一个dr["ddd"](dr是的IDataReader类型的)对象是否存在
- 如何在windows服务中启动一个.exe程序,并且该exe的用户名为当前用户
- System.Data.OleDb.OleDbException: 多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成
- VS2005
- 关于js和RegularExpressionValidator问题
- 读取其他程序的文件.如何读到明文?
- 如何从数据表中获取一条记录,并把记录付值个几个变量??
- 在VS.net2003里用ATL开发一个COM对象,我必须手动添加一个接口吗
- 请教问题,答对马上给分!
- Array.Indexof的一个小问题?
去掉refresh也一样闪!!
你自己try一try!
if(e.Button==MouseButtons.Left) {
canMove=true;
savePoint.X=e.X;
savePoint.Y=e.Y;
}
} private void panel1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
if(canMove==true) {
panel1.Location=new Point(panel1.Left+ e.X-savePoint.X,panel1.Top+e.Y-savePoint.Y);
}
} private void panel1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) {
if(e.Button==MouseButtons.Left) {
canMove=false;
}
}
注意:你的MouseMove事件写错了,下次自己做错了,不要说别人有bug
真的是我太糊涂,太感谢了!太感谢了!
{
mouse_offset = new Point(-e.X,-e.Y);
}private void panel1_MouseMove(object sender,System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouse_offset.X, mouse_offset.Y);
panel1.Location = panel1.Parent.PointToClient(mousePos);
}
}这样也可以的,简洁明了