c# 类似于千千静听的桌面停靠程序

    技术2022-05-12  14

    c# 类似于千千静听的桌面停靠程序

    下面是程序源代码,如有转载,请保留作者信息,谢谢。

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;

    namespace LIKETTPlaryer{       /// <summary>    /// 类似于千千静听的桌面停靠程序    /// 作者:abrahu    /// 时间:2008-11-07    /// 如有转载,请保留此项    /// </summary>    public partial class Form1 : Form    {                Point p;        int SCREEN_WIDTH;        int SCREEN_HEIGHT;        int BIND;//设置停靠容差

            public Form1()        {            InitializeComponent();                        Rectangle screen = Screen.GetWorkingArea(this);            SCREEN_WIDTH = screen.Width;            SCREEN_HEIGHT = screen.Height;                        BIND = 20;        }

            private void Form1_MouseDown(object sender, MouseEventArgs e)        {            p.X = e.X; p.Y = e.Y;        }

            private void Form1_MouseMove(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)                        {                int POS_X=this.Left;                int POS_Y=this.Top;                int POS_WIDTH=this.Width;                int POS_HEIGHT=this.Height;                int MOUSE_MOVE_BIND_X = e.X - p.X;                int MOUSE_MOVE_BIND_Y = e.Y - p.Y;                if (POS_X <= BIND && POS_X >= -1*BIND)//停靠在左边                {                    this.Left = 0;                    if (Math.Abs(MOUSE_MOVE_BIND_X) > BIND)                    {                        this.Left = POS_X + MOUSE_MOVE_BIND_X;                        this.Top = POS_Y + MOUSE_MOVE_BIND_Y;                    }                }                if (POS_X >= SCREEN_WIDTH - BIND - POS_WIDTH && POS_X <= SCREEN_WIDTH + BIND - POS_WIDTH)//停靠在右边                {                    this.Left = SCREEN_WIDTH - POS_WIDTH;                    if (Math.Abs(MOUSE_MOVE_BIND_X) > BIND)                    {                        this.Left = POS_X + MOUSE_MOVE_BIND_X;                        this.Top = POS_Y + MOUSE_MOVE_BIND_Y;                    }                }                if (POS_Y <= BIND && POS_Y >= -1 * BIND)//停靠在上边                {                    this.Top = 0;                    if (Math.Abs(MOUSE_MOVE_BIND_Y) > BIND)                    {                        this.Left = POS_X + MOUSE_MOVE_BIND_X;                        this.Top = POS_Y + MOUSE_MOVE_BIND_Y;                    }                }                if (POS_Y >= SCREEN_HEIGHT - BIND - POS_HEIGHT && POS_Y <= SCREEN_HEIGHT + BIND - POS_HEIGHT)//停靠在下边                {                    this.Top = SCREEN_HEIGHT - POS_HEIGHT;                    if (Math.Abs(MOUSE_MOVE_BIND_Y) > BIND)                    {                        this.Left = POS_X + MOUSE_MOVE_BIND_X;                        this.Top = POS_Y + MOUSE_MOVE_BIND_Y;                    }                }                if ((POS_X > BIND && POS_X < SCREEN_WIDTH - BIND - POS_WIDTH && POS_Y > BIND && POS_Y < SCREEN_HEIGHT - BIND - POS_HEIGHT) || POS_X < -1 * BIND || POS_X > SCREEN_WIDTH + BIND - POS_WIDTH || POS_Y > SCREEN_HEIGHT + BIND - POS_HEIGHT || POS_Y < -1 * BIND)                {                     this.Left = POS_X + MOUSE_MOVE_BIND_X;                     this.Top = POS_Y + MOUSE_MOVE_BIND_Y;                }                            }        }    }}


    最新回复(0)