| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1142 人关注过本帖
标题:鼠标拖动窗体的疑问?
只看楼主 加入收藏
yanhaolang
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2007-3-12
收藏
 问题点数:0 回复次数:3 
鼠标拖动窗体的疑问?
鼠标拖动窗体,我有几处 很不理解,
问 同事,他也半懂不懂,说知道那样用就可以,会用就可以。。。郁闷

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

 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
howardwyy
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2008-4-16
收藏
得分:0 
我也在c#,书上也有这断代码,说是可以让鼠标拖动窗体,不过我也没看懂,
于是自己想了个代码,还是有点效果哦,嘿嘿

Point po;//记得是在外面定义的啊,用于存储上次鼠标的位置
private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            Point uo = po;//上次的鼠标位置给此时定义的uo;
            po = Control.MousePosition;//记下现在鼠标的位置以备下次用
            if (e.Button == MouseButtons.Left)//移动的同时要按下鼠标左键
            {//下面的就不用我说了吧
                this.Left = this.Left + (po .X - uo.X);
                this.Top = this.Top + (po .Y - uo.Y);
            }
        }
2008-04-30 17:37
yanhaolang
Rank: 1
等 级:新手上路
帖 子:60
专家分:7
注 册:2007-3-12
收藏
得分:0 
看来 楼上的和我有相同的疑问,希望高手 快来解释啊...
2008-05-01 17:07
快速回复:鼠标拖动窗体的疑问?
数据加载中...
 
   



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

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