加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

拖拽更改控件位置

发布时间:2020-12-14 00:57:14 所属栏目:Linux 来源:网络整理
导读:Point mouseDownPoint = Point.Empty;Rectangle rect = Rectangle.Empty; bool isDrag = false ; private void pictureBox1_MouseDown( object sender,MouseEventArgs e){ if (e.Button == MouseButtons.Left) { mouseDownPoint = e.Location; rect = pictur
Point mouseDownPoint = Point.Empty;
Rectangle rect = Rectangle.Empty;
bool isDrag = false;

private void pictureBox1_MouseDown(object sender,MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        mouseDownPoint = e.Location;
        rect = pictureBox1.Bounds;
    }
}

private void pictureBox1_MouseUp(object sender,MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        if (isDrag)
        {
            isDrag = false;
            pictureBox1.Location = rect.Location;
            this.Refresh();
        }
        reset();
    }
}

private void pictureBox1_MouseMove(object sender,MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        isDrag = true;
        rect.Location = getPointToForm(new Point(e.Location.X - mouseDownPoint.X,e.Location.Y - mouseDownPoint.Y));
        this.Refresh();
    }
}

private void reset()
{
    mouseDownPoint = Point.Empty;
    rect = Rectangle.Empty;
    isDrag = false;
}
private Point getPointToForm(Point p)
{
    return this.PointToClient(pictureBox1.PointToScreen(p));
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读