diff --git a/TBF/Forms/ModelessActivityForm.cs b/TBF/Forms/ModelessActivityForm.cs index 7f25aa52a..fc3c9c60f 100644 --- a/TBF/Forms/ModelessActivityForm.cs +++ b/TBF/Forms/ModelessActivityForm.cs @@ -40,11 +40,30 @@ namespace TBF.Forms InitializeComponent(); ControlBox = false; - CloseFormHandler += delegate(object sender, EventArgs args) + CloseFormHandler += HandleCloseFormCommand; + } + + private void ModelessActivityForm_FormClosing(object sender, FormClosingEventArgs e) + { + CloseFormHandler -= HandleCloseFormCommand; + } + + void HandleCloseFormCommand(object sender, EventArgs args) + { + if (InvokeRequired) { - if (InvokeRequired) { Invoke(new EventHandler(OnCloseForm), sender, args); } - else OnCloseForm(sender, args); - }; + Invoke(new EventHandler(OnCloseForm), sender, args); + } + else + { + OnCloseForm(sender, args); + } + } + + void OnCloseForm(object sender, EventArgs args) + { + DialogResult = DialogResult.Cancel; + Close(); } private void ModelessForm_Load(object sender, EventArgs e) @@ -79,11 +98,5 @@ namespace TBF.Forms { activityStatusLabel.Text = args.Activity; } - - void OnCloseForm(object sender, EventArgs args) - { - DialogResult = DialogResult.Cancel; - Close(); - } } } diff --git a/TBF/Forms/ModelessActivityForm.designer.cs b/TBF/Forms/ModelessActivityForm.designer.cs index 34ca1a52b..51fbf55de 100644 --- a/TBF/Forms/ModelessActivityForm.designer.cs +++ b/TBF/Forms/ModelessActivityForm.designer.cs @@ -60,6 +60,7 @@ this.MinimizeBox = false; this.Name = "ModelessActivityForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ModelessActivityForm_FormClosing); this.Load += new System.EventHandler(this.ModelessForm_Load); this.ResumeLayout(false); this.PerformLayout();