zoukankan      html  css  js  c++  java
  • C# 窗体靠近屏幕边缘自动隐藏*学习(类似于QQ)

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

    namespace WinHide
    {
     public partial class MainForm : Form
     {
      public MainForm()
      {
         InitializeComponent();
       }
      
      #region 窗体隐藏部分
      void Timer1Tick(object sender, EventArgs e)
      {
       if(this.Bounds.Contains(Cursor.Position))
       {
        switch(this.StopAnhor)
        {
         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;
        }
       }else
       {
        switch(this.StopAnhor)
        {
         case AnchorStyles.Top:
          this.Location = new Point(this.Location.X,(this.Height-4)*(-1));
          break;
         case AnchorStyles.Left:
          this.Location = new Point((this.Width-4)*(-1),this.Location.Y);
          break;
         case AnchorStyles.Right:
          this.Location = new Point(Screen.PrimaryScreen.Bounds.Width-4,this.Location.Y);
          break;
        }
       }
      }
      
      internal AnchorStyles StopAnhor = AnchorStyles.None;
      private void mStopAnhor()
      {
       if(this.Top <= 0)
       {
        StopAnhor = AnchorStyles.Top;
       }
       else if(this.Left <= 0)
       {
        StopAnhor = AnchorStyles.Left;
       }
       else if(this.Right >= Screen.PrimaryScreen.Bounds.Width)
       {
        StopAnhor = AnchorStyles.Right;
       }
       else
       {
        StopAnhor = AnchorStyles.None;
       }
      }
      
      void MainFormLocationChanged(object sender, EventArgs e)
      {
       this.mStopAnhor();
      }
      #endregion

    }

  • 相关阅读:
    定制事件 观察者模式
    定时器的高级运用 优化
    tamper-proof 对象 nonextensible对象 sealed对象 frozen对象
    函数柯理化
    跨域 Ajax 其他可选技术 异步
    Ajax 跨域 异步 CORS
    原样输出html标签
    JavaScript
    css 中name的用途
    iview 按需引入解决加载慢的问题
  • 原文地址:https://www.cnblogs.com/_ymw/p/1855272.html
Copyright © 2011-2022 走看看