zoukankan      html  css  js  c++  java
  • 一个拖动无标题栏窗体的方法 修正

    下载全部代码:http://www.cckan.net/forum.php?mod=viewthread&tid=68

    上次文章地址http://www.cnblogs.com/sufei/archive/2009/05/06/1450683.html

    上次写了一个一个拖动无标题栏窗体的方法 发现有一些问题就是每次单击的时候 会向上移动两个像素,现在修改一下                                                          

    代码
     private bool isMouseDown = false;
            
    private Point FormLocation;     //form的location
            private Point mouseOffset;      //鼠标的按下位置


            
    private void Messages_MouseDown(object sender, MouseEventArgs e)
            {
                
    try
                {
                    
    if (e.Button == MouseButtons.Left)
                    {
                        isMouseDown 
    = true;
                        FormLocation 
    = this.Location;
                        mouseOffset 
    = Control.MousePosition;
                    }

                }
                
    catch (Exception)
                {

                }

            }


            
    private void Messages_MouseMove(object sender, MouseEventArgs e)
            {
                
    try
                {
                    
    int _x = 0;
                    
    int _y = 0;
                    
    if (isMouseDown)
                    {
                        Point pt 
    = Control.MousePosition;
                        _x 
    = mouseOffset.X - pt.X;
                        _y 
    = mouseOffset.Y - pt.Y;

                        
    this.Location = new Point(FormLocation.X - _x, FormLocation.Y - _y);
                    }

                }
                
    catch (Exception )
                {

                }

            }

            
    private void Messages_MouseUp(object sender, MouseEventArgs e)
            {
                
    try
                {
                    isMouseDown 
    = false;

                }
                
    catch (Exception)
                {

                }

            }
  • 相关阅读:
    十一、 Façade外观(结构型模式)
    十七、 Mediator 中介者(行为型模式)
    十三、 Proxy代理(结构型模式)
    也谈.net平台的委托扩展篇
    也谈.net平台的委托基本篇
    十六、 Interpreter 解释器(行为型模式)
    十四、 Template Method模板方法(行为型模式)
    十八、 Iterator 迭代器(行为型模式)
    十五、 Command 命令(行为型模式)
    十二、 Flyweight享元(结构型模式)
  • 原文地址:https://www.cnblogs.com/sufei/p/1663830.html
Copyright © 2011-2022 走看看