Source/Design/PopupDelayedClose.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Text;
using System.Windows.Forms;
using System.Collections;


namespace DevComponents.DotNetBar.Design
{
    internal class PopupDelayedClose
    {
        #region Private Variables
        private Timer m_Timer = null;
        private ArrayList m_Popups = new ArrayList();
        private System.Threading.ReaderWriterLock m_PopupsLock = new System.Threading.ReaderWriterLock();
        #endregion

        public PopupDelayedClose()
        {
            m_Timer = new Timer();
            m_Timer.Enabled = false;
            m_Timer.Interval = 800;
            m_Timer.Tick += new EventHandler(TimerDelayedClose);
        }

        void TimerDelayedClose(object sender, EventArgs e)
        {
            m_Timer.Stop();
            CloseAllPopups();
        }

        public void Dispose()
        {
            if (m_Timer != null)
            {
                m_Timer.Stop();
                CloseAllPopups();

                m_Timer.Dispose();
                m_Timer = null;
            }
        }

        private void CloseAllPopups()
        {
            if (m_Popups.Count > 0)
            {
                bool readerLockHeld = m_PopupsLock.IsReaderLockHeld;
                System.Threading.LockCookie cookie1 = new System.Threading.LockCookie();
                if (readerLockHeld)
                {
                    cookie1 = m_PopupsLock.UpgradeToWriterLock(-1);
                }
                else
                {
                    m_PopupsLock.AcquireWriterLock(-1);
                }

                try
                {
                    foreach (PopupItem item in m_Popups)
后面还有 82 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。