| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:关于winform移动控件
取消只看楼主 加入收藏
hcx888
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2013-4-17
结帖率:70%
收藏
 问题点数:0 回复次数:0 
关于winform移动控件
我用的是
程序代码:

 private bool isMouseMove = false;//获取鼠标是否游动
        private Point mouseOffset; //记录鼠标指针的坐标


 protected void temp_MouseDown(object sender, MouseEventArgs e)
        {
            //当鼠标点击左键 执行对应操作
            if (e.Button == MouseButtons.Left)
            {
               isMouseMove = false;
            }

protected void temp_MouseMove(object sender, MouseEventArgs e)
        {
            //Bitmap img = new Bitmap(temp.Image);
            //temp.DrawToBitmap(img, temp.Bounds);

            if (isMouseMove == false)
            {
                mouseOffset.X = e.X;
                mouseOffset.Y = e.Y;
                isMouseMove = true;
                return;
            }
            if (isMouseMove == true)
            {
                int left = temp.Left + e.X - mouseOffset.X;
                int top = temp.Top + e.Y - mouseOffset.Y;
                temp.Location = new Point(left, top);
            }
        }



来移动一个 picturebox控件 但是 移动的过程总是有重影

我想用API的方式进行移动
程序代码:
[DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
        private void frmMain_MouseDown(object sender, MouseEventArgs e)
        {
            ReleaseCapture();
            SendMessage(this.Handle, 0x0112, 0xF012, 0);
        }


但是 它是一个 MouseDown 鼠标点击着控件才能移动,我把frmMain_MouseDown 这个方法关联到 mousemove 事件中,但是不起效

所以想请大家帮帮忙
2013-11-30 23:58
快速回复:关于winform移动控件
数据加载中...
 
   



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

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