| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4066 人关注过本帖
标题:winform窗口鼠标位置问题
取消只看楼主 加入收藏
哦是菜鸟
Rank: 2
等 级:论坛游民
帖 子:40
专家分:15
注 册:2011-9-14
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:3 
winform窗口鼠标位置问题
当窗体中加入控件填充下
        protected override void OnMouseMove(MouseEventArgs e)
        {
            this.Text += "x" + e.X.ToString() + "y" + e.Y.ToString();
            MessageBox.Show("");
            base.OnMouseMove(e);
        }
无法获得鼠标位置。。。

用Control.MousePosition获得当前鼠标的坐标CurrentPoint,使用Control.PointToClient方法,前面获得的CurrentPoint作为其参数,返回的Point类型的对象即为鼠标相对于某个控件的坐标。

现在以鼠标相对于窗体的坐标做为例子,如下:
            Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标

            Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标

同理:

            Point button1Point= button1Point.PointToClient(Control.MousePosition); //鼠标相对于button1左上角的坐标

还有Control.PointToScreen方法,返回的是相对于屏幕的坐标。
本菜鸟懒谁帮整理下窗体下随时捕获鼠标事件
 protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x0200)
            //如果是鼠标操作得到鼠标位于窗口xy
搜索更多相关主题的帖子: 鼠标 
2011-09-15 11:15
哦是菜鸟
Rank: 2
等 级:论坛游民
帖 子:40
专家分:15
注 册:2011-9-14
收藏
得分:0 
你随便加个控件到form1里面在dock fill
鼠标位置直接获得不到
2011-09-15 15:20
哦是菜鸟
Rank: 2
等 级:论坛游民
帖 子:40
专家分:15
注 册:2011-9-14
收藏
得分:0 
知道无法获得
所以想重写方法就解答
2011-09-16 14:40
哦是菜鸟
Rank: 2
等 级:论坛游民
帖 子:40
专家分:15
注 册:2011-9-14
收藏
得分:0 
那是结贴
2011-09-17 19:54
快速回复:winform窗口鼠标位置问题
数据加载中...
 
   



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

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