标题:鼠标拖动窗体的疑问?
取消只看楼主
yanhaolang
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2007-3-12
 问题点数:0 回复次数:2 
鼠标拖动窗体的疑问?
鼠标拖动窗体,我有几处 很不理解,
问 同事,他也半懂不懂,说知道那样用就可以,会用就可以。。。郁闷

不理解的地方 我 用红色注释掉了,请高手 帮我 详细解释一下,谢谢!

 bool isFlag;
        Point offPoint;  //偏移坐标
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isFlag = true;  //状态
            offPoint = new Point(-e.X, -e.Y);//这个很不理解,(e.X, e.Y)是鼠标点下时候的坐标,下面把他作为了 鼠标的移动偏移量,前面还加个负号, 也不理解        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isFlag)
            {
                //移动窗体
                Point p = new Point(e.X, e.Y);//移动时鼠标的坐标

                //转换成相对屏幕的坐标,不知道这 有什么用?
                p = PointToScreen(p);
                p.Offset(offPoint);//这里 最不懂,这样 坐标移动怎么会是鼠标和窗体的 移动呢?                this.Location = p;

            }
        }


跪求高手详细指点,解释。。。

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isFlag = false;
        }
搜索更多相关主题的帖子: 鼠标 拖动 窗体 疑问 
2008-04-24 17:33
yanhaolang
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2007-3-12
得分:0 
自己顶!直到高手 来给我 解释。。。
2008-04-26 09:26
yanhaolang
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2007-3-12
得分:0 
看来 楼上的和我有相同的疑问,希望高手 快来解释啊...
2008-05-01 17:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210878-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.076204 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved