protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); // when mouse is rolling over, show the taskbar (if in autohide mode) if (TaskbarPropertiesManager.Instance.Properties.AutoHide) { if (MainForm.IsHidden) { MainForm.Autohide(false); if (_autoHideMonitor != null) { _autoHideMonitor.Dispose(); _autoHideMonitor = null; } } if (_autoHideMonitor == null) { _autoHideMonitor = new AutoHideMonitor(MainForm); _autoHideMonitor.OnHide += new Action(_autoHideMonitor_OnHide); _autoHideMonitor.Start(); } } }
void _autoHideMonitor_OnHide() { if (_autoHideMonitor != null) { _autoHideMonitor.Dispose(); _autoHideMonitor = null; } // AutoHideMonitor has decided that we can hide the taskbar now MainForm.Invoke(new MethodInvoker(delegate { MainForm.Autohide(true); })); }