GetLocation() public méthode

public GetLocation ( ) : Point?
Résultat Point?
Exemple #1
0
        /// <summary>
        /// Main Class for RegistryMonitor.
        /// </summary>
        public Form1()
        {
            if (_allowLogging)
            {
                ExceptionlessClient.Default.Register(false);
                ExceptionlessClient.Default.Configuration.SetUserIdentity(Environment.MachineName);
                ExceptionlessClient.Default.Configuration.UseSessions();
            }

            InitializeComponent();

            _loadedSettings = new LoadedSettings();

            LoadMenu();
            _hkManager = new HotKeyManager();
            LoadGlobalHotkey();
            _menuStrip = menuStrip;

            // Gets the location of the systray icon
            _superNotifyIcon = new SuperNotifyIcon {NotifyIcon = Icon};
            _locationOfIcon = _superNotifyIcon.GetLocation();

            _settingsAlreadyRunning = false;
        }
Exemple #2
0
        public void ShowDrop()
        {
            // Wrong thread?
            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => ShowDrop()));
                return;
            }

            // Somehow this can be run even when disposed...
            if (IsDisposed)
            {
                return;
            }

            // Don't do anything if we're out of the taskbar with auto-hide
            if (Taskbar.GetTaskbarState() == Taskbar.TaskbarState.AutoHide && !MouseInTaskbar())
            {
                Hide();
                return;
            }

            // Now then...
            lastNotifyIconPoint = _owner.GetLocation(false);
            Hide();

            // Point?
            _owner.DropRefreshCallback(lastNotifyIconPoint.HasValue);

            // Don't bother doing anything if we don't have a value
            if (lastNotifyIconPoint.HasValue)
            {
                Point notifyIconLocation = lastNotifyIconPoint.Value;

                // Stuff
                Size  taskbarSize     = Taskbar.GetTaskbarSize();
                Point taskbarLocation = Taskbar.GetTaskbarLocation();

                // We've got a find, yessiree!
                firstFind = true;

                // Anyway, the task at hand; where does our drop zone go?
                switch (Taskbar.GetTaskbarEdge())
                {
                case Taskbar.TaskbarEdge.Bottom:
                    Top    = taskbarLocation.Y + 2;
                    Left   = notifyIconLocation.X;
                    Width  = 24;
                    Height = taskbarSize.Height;
                    break;

                case Taskbar.TaskbarEdge.Top:
                    Top    = -2;
                    Left   = notifyIconLocation.X;
                    Width  = 24;
                    Height = taskbarSize.Height;
                    break;

                case Taskbar.TaskbarEdge.Left:
                    Top    = notifyIconLocation.Y;
                    Left   = -2;
                    Width  = taskbarSize.Width;
                    Height = 24;
                    break;

                case Taskbar.TaskbarEdge.Right:
                    Top    = notifyIconLocation.Y;
                    Left   = taskbarLocation.X + 2;
                    Width  = taskbarSize.Width;
                    Height = 24;
                    break;
                }

                // We still want to show again even if we fail to find, but only if we've found it at least once!
                if (firstFind)
                {
                    // Post-disposal exception horror fix pt.2
                    try
                    {
                        Show();
                        TopMost = false;
                    }
                    catch { }
                }
            }
        }