【发布时间】:2012-05-19 04:45:32
【问题描述】:
我有一个 WinForm 应用程序,我正在尝试使用 MouseMove Event 在窗体中移动一个图片框,但是当我第一次使用图片框时,我不知道在 MouseMove 上应该做哪些正确的计算,它的位置以一种毫无意义的方式发生变化,然后在移动图片框位置时正确移动。
这是一个面板名称OuterPanel,其中包含图片框picBox,这里是我使用的代码:
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point p = OuterPanel.PointToClient(MousePosition);
picBox.Location = this.PointToClient(p);
}
}
P.S : 目标是放大后的移动图像,如 windows 照片查看器
更新:ConvertFromChildToForm方法
private Point ConvertFromChildToForm(int x, int y,Control control)
{
Point p = new Point(x, y);
control.Location = p;
return p;
}
【问题讨论】:
标签: c# winforms controls mousemove