ibcadmin 发表于 2013-9-21 13:00:11

窗口停靠缩进代码

实现像QQ一样,将窗口停靠所缩进,代码共享,

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;
using System.Threading;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
      public Form1()
      {
            InitializeComponent();
            //this.StartPosition = FormStartPosition.Manual;
            //this.Location = new Point(0, 0);

      }
      
      private void Form1_Load(object sender, EventArgs e)
      {
               this.TopMost = true;

            this.timer1.Start();
            //int a= System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
            //int b = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
            //MessageBox.Show(a,b);
      }
      internal AnchorStyles StopAanhor = AnchorStyles.None;
      private void mStopAnhor()

      {

            if (this.Top <= 0 && this.Left <= 0)

            {

                StopAanhor = AnchorStyles.None;

            }

            else if (this.Top <= 0)

            {

                StopAanhor = AnchorStyles.Top;

            }

            //else if (this.Left <= 0)

            //{

            //    StopAanhor = AnchorStyles.Left;

            //}

            else if (this.Left >= Screen.PrimaryScreen.Bounds.Width - this.Width)

            {

                StopAanhor = AnchorStyles.Right;

            }

            else if (this.Top >= Screen.PrimaryScreen.Bounds.Height - this.Height)

            {

                StopAanhor = AnchorStyles.Bottom;

            }

            else

            {

                StopAanhor = AnchorStyles.None;

            }

      }

      private void timer1_Tick(object sender, EventArgs e)
      {
            if (this.Bounds.Contains(Cursor.Position))

   {

          switch (this.StopAanhor)

          {

               case AnchorStyles.Top:

                   this.Location = new Point(this.Location.X, 0);

                   break;

               case AnchorStyles.Left:

                   this.Location = new Point(0, this.Location.Y);

                   break;

               case AnchorStyles.Right:

                   this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - this.Width, this.Location.Y);

                  break;

               case AnchorStyles.Bottom:

                  this.Location = new Point(this.Location.X, Screen.PrimaryScreen.Bounds.Height - this.Height);

                  break;

            }

       }

       else

       {

            switch (this.StopAanhor)

            {

               case AnchorStyles.Top:

                     this.Location = new Point(this.Location.X, (this.Height - 4) * (-1));

                     break;

               case AnchorStyles.Left:

                  this.Location = new Point((-1) * (this.Width - 4), this.Location.Y);

                  break;

               case AnchorStyles.Right:

                  this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - 4, this.Location.Y);

                  break;

               case AnchorStyles.Bottom:

                  this.Location = new Point(this.Location.X, (Screen.PrimaryScreen.Bounds.Height - 4));

                  break;

                }

            }

      }

      private void Form1_LocationChanged(object sender, EventArgs e)
      {
               this.mStopAnhor();
      }

      
      
      
      

    }
}



403444638

发表于 2013-9-27 13:21:35

你好老师情况怎么样

发表于 2013-9-27 13:21:36

什么? || @Nurali2675: 你好老师情况怎么样http://app.qlogo.cn/mbloghead/ebef5598fbc9a840d456

ibcadmin 发表于 2013-10-8 15:37:54

啊啊啊

2768549658 发表于 2013-10-8 17:22:32

asdads

心镜先生 发表于 2013-12-2 11:16:09

赞赞赞赞
页: [1]
查看完整版本: 窗口停靠缩进代码