Fixed topmost new email alert (hopefully)
This commit is contained in:
		
							parent
							
								
									3d3e97dc4b
								
							
						
					
					
						commit
						2cf3f6fd93
					
				@ -100,7 +100,7 @@
 | 
				
			|||||||
            this.lnkSender.AutoSize = true;
 | 
					            this.lnkSender.AutoSize = true;
 | 
				
			||||||
            this.lnkSender.Location = new System.Drawing.Point(85, 5);
 | 
					            this.lnkSender.Location = new System.Drawing.Point(85, 5);
 | 
				
			||||||
            this.lnkSender.Name = "lnkSender";
 | 
					            this.lnkSender.Name = "lnkSender";
 | 
				
			||||||
            this.lnkSender.Size = new System.Drawing.Size(82, 17);
 | 
					            this.lnkSender.Size = new System.Drawing.Size(72, 17);
 | 
				
			||||||
            this.lnkSender.TabIndex = 10;
 | 
					            this.lnkSender.TabIndex = 10;
 | 
				
			||||||
            this.lnkSender.TabStop = true;
 | 
					            this.lnkSender.TabStop = true;
 | 
				
			||||||
            this.lnkSender.Text = "linkLabel1";
 | 
					            this.lnkSender.Text = "linkLabel1";
 | 
				
			||||||
@ -137,7 +137,6 @@
 | 
				
			|||||||
            this.ShowInTaskbar = false;
 | 
					            this.ShowInTaskbar = false;
 | 
				
			||||||
            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
 | 
					            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
 | 
				
			||||||
            this.Text = "NewMailAlert";
 | 
					            this.Text = "NewMailAlert";
 | 
				
			||||||
            this.TopMost = true;
 | 
					 | 
				
			||||||
            this.ResumeLayout(false);
 | 
					            this.ResumeLayout(false);
 | 
				
			||||||
            this.PerformLayout();
 | 
					            this.PerformLayout();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ using System.Windows.Forms;
 | 
				
			|||||||
namespace Outlook2013TodoAddIn.Forms
 | 
					namespace Outlook2013TodoAddIn.Forms
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// New form to display new emai lnotifications
 | 
					    /// New form to display new email notifications
 | 
				
			||||||
    /// </summary>
 | 
					    /// </summary>
 | 
				
			||||||
    public partial class NewMailAlert : Form
 | 
					    public partial class NewMailAlert : Form
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -29,14 +29,9 @@ namespace Outlook2013TodoAddIn.Forms
 | 
				
			|||||||
        private bool mouseIsOver = false;
 | 
					        private bool mouseIsOver = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Show form
 | 
					        /// Topmost value
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        private const int SW_SHOW = 5;
 | 
					        private const int WS_EX_TOPMOST = 0x00000008;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Fading effect
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        private const uint AW_BLEND = 0x00080000;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endregion "Variables"
 | 
					        #endregion "Variables"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,6 +50,21 @@ namespace Outlook2013TodoAddIn.Forms
 | 
				
			|||||||
            get { return true; }
 | 
					            get { return true; }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// This is used so we can show without activation and be the TopMost form
 | 
				
			||||||
 | 
					        /// The TopMost property of the form MUST be set to false for this to work
 | 
				
			||||||
 | 
					        /// https://connect.microsoft.com/VisualStudio/feedback/details/401311/showwithoutactivation-is-not-supported-with-topmost
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        protected override CreateParams CreateParams
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            get
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                CreateParams value = base.CreateParams;
 | 
				
			||||||
 | 
					                value.ExStyle |= WS_EX_TOPMOST;
 | 
				
			||||||
 | 
					                return value;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endregion "Properties"
 | 
					        #endregion "Properties"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region "Methods"
 | 
					        #region "Methods"
 | 
				
			||||||
@ -79,37 +89,6 @@ namespace Outlook2013TodoAddIn.Forms
 | 
				
			|||||||
            timer.Start();
 | 
					            timer.Start();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Load and bring to fron
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <param name="e">EventArgs</param>
 | 
					 | 
				
			||||||
        protected override void OnLoad(EventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            base.OnLoad(e);
 | 
					 | 
				
			||||||
            if (this.WindowState == FormWindowState.Minimized)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                this.WindowState = FormWindowState.Normal;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            this.BringToFront();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        [DllImport("user32.dll")]
 | 
					 | 
				
			||||||
        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        [DllImport("user32.dll")]
 | 
					 | 
				
			||||||
        private static extern bool AnimateWindow(IntPtr hWnd, uint dwTime, uint dwFlags);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Method to display the form and make it topmost
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <returns>True or false</returns>
 | 
					 | 
				
			||||||
        public bool ShowPopup()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            bool result = ShowWindow(this.Handle, SW_SHOW);
 | 
					 | 
				
			||||||
            //bool result = AnimateWindow(this.Handle, 200, AW_BLEND);
 | 
					 | 
				
			||||||
            return result;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Button delete clicked
 | 
					        /// Button delete clicked
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -83,7 +83,7 @@ namespace Outlook2013TodoAddIn
 | 
				
			|||||||
                    NewMailAlert nm = new NewMailAlert(newMail, Properties.Settings.Default.DisplayTimeOut);
 | 
					                    NewMailAlert nm = new NewMailAlert(newMail, Properties.Settings.Default.DisplayTimeOut);
 | 
				
			||||||
                    // Show the popup without stealing focus
 | 
					                    // Show the popup without stealing focus
 | 
				
			||||||
                    SoundHelper.sndPlaySoundW(SoundHelper.MailBeep, SoundHelper.SND_NODEFAULT);
 | 
					                    SoundHelper.sndPlaySoundW(SoundHelper.MailBeep, SoundHelper.SND_NODEFAULT);
 | 
				
			||||||
                    nm.ShowPopup();
 | 
					                    nm.Show();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user