zoukankan      html  css  js  c++  java
  • 控件拖拽基本方法

    //在窗体放置一个按钮  button1

             private bool isMouseDown = false;  //记录按钮是否被按下
            private Point mouseOffset;              //记录鼠标指针的坐标

            public Form1()
            {
                InitializeComponent();

                this.button1.MouseMove += new MouseEventHandler(button1_MouseMove);
                this.button1.MouseDown += new MouseEventHandler(button1_MouseDown);
                this.button1.MouseUp += new MouseEventHandler(button1_MouseUp);
            }

            void button1_MouseUp(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    isMouseDown = false;     //如果左边按钮弹起
                }
            }

            void button1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    mouseOffset.X = e.X;
                    mouseOffset.Y = e.Y;
                    isMouseDown = true;
                }
            
            }

            void button1_MouseMove(object sender, MouseEventArgs e)
            {
                if (isMouseDown)
                {
                    int left = button1.Left + e.X - mouseOffset.X;
                    int top = button1.Top + e.Y - mouseOffset.Y;
                    button1.Location = new Point(left, top);
                }
            }

        

  • 相关阅读:
    大学毕业4年-回顾和总结(1)-钱,金钱观
    VR开发中性能问题—OculusWaitForGPU
    动态规划(一)
    POJ 2229 Sumsets
    hihoCoder #1122 : 二分图二•二分图最大匹配之匈牙利算法
    hihoCoder #1127 : 二分图二·二分图最小点覆盖和最大独立集
    hihoCoder #1121 : 二分图一•二分图判定
    HDU 1978 How many ways
    POJ1579 Function Run Fun
    POJ 2081 Recaman's Sequence
  • 原文地址:https://www.cnblogs.com/zjgtlkj/p/3386812.html
Copyright © 2011-2022 走看看