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

    }

  • 相关阅读:
    vector tips
    DataTable DataRow String Tips...
    Virtual Key Codes
    有关多线程的一些技术问题
    用异步的方式调用同步方法
    C#线程锁(下)
    C#线程锁(中)
    Web应用中并发控制的实现
    主题:数据库事务与并发(Hibernate)
    前端开发桌面终极工具(FastStone Capture)推荐(转)
  • 原文地址:https://www.cnblogs.com/bingyun84/p/1897273.html
Copyright © 2011-2022 走看看