首页 新闻 搜索 专区 学院

无标题栏Form如何拖动?

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-09 20:33

对于这个问题我想一般人都会说很简单,我也做过不少,但始终有一个问题我没搞清楚。那就是我写的拖动代码都没有窗体拖动时那个虚框,是直接在MouseMove时就移动到了目标位置,就如下面这个链接里的实现方法:

http://maidini.blog.163.com/blog/static/3776270420082395936978/

我想知道,如何自定义拖动时也显示像普通窗体拖动时也显示那个虚框?

空明流光的主页 空明流光 | 初学一级 | 园豆:48
提问于:2013-11-09 19:09
< >
分享
最佳答案
0

        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwdn, int wMsg, int mParam, int lParam);

        public const int WM_SYSCOMMAND = 0x0112;//该变量表示将向Windows发送的消息类型
        public const int SC_MOVE = 0xF010;//该变量表示发送消息的附加消息
        public const int HTCAPTION = 0x0002;//该变量表示发送消息的附加消息

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
        }

收获园豆:10
贪心狸猫 | 小虾三级 |园豆:872 | 2013-11-09 20:17

强大的API呀,看来我写的复杂了

空明流光 | 园豆:48 (初学一级) | 2013-11-09 20:32
其他回答(1)
0

哪有什么虚框?

轻狂の书生 | 园豆:1040 (小虾三级) | 2013-11-09 19:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册