C# 实现磁性窗体

可以实现窗体的 吸附 移动 分离


  1. using System;  
  2. using System.Drawing;  
  3. using System.Collections.Generic;  
  4. using System.Windows.Forms;  
  5.   
  6. namespace TinyBook  
  7. {  
  8.     public enum MagneticLocation  
  9.     {  
  10.         Left = 0,  
  11.         Right = 1,  
  12.         Top = 2,  
  13.         Bottom = 3  
  14.     }  
  15.   
  16.     public enum MagneticState  
  17.     {  
  18.         Adsorbent, // 吸附  
  19.         Separation // 分离  
  20.     }  
  21.   
  22.     public class MagneticManager  
  23.     {  
  24.         public class ChildFormInfo  
  25.         {  
  26.             public Form Child { getset; }  
  27.             public MagneticLocation Location { getset; }  
  28.             public MagneticState State { getset; }  
  29.             public bool CutstomSetLocation { getset; }  
  30.         }  
  31.   
  32.         public int Step { getset; }  
  33.   
  34.         private Form m_mainForm = null;  
  35.         private List<ChildFormInfo> m_childs= new List<ChildFormInfo>();  
  36.   
  37.         public MagneticManager(Form form)  
  38.         {  
  39.             m_mainForm = form;  
  40.             form.LocationChanged += MainForm_LocationChanged;  
  41.             form.SizeChanged += MainForm_SizeChanged;  
  42.             form.FormClosed += MainForm_FormClosed;  
  43.             Step = 20;  
  44.         }  
  45.   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值