/// <summary> /// This method must be first call on each form manager. When this form is closed, FormManager will capture and close /// the application. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized form object</returns> public TU OpenMainForm <TU>() where TU : T, new() { if (InstanceForms == null) { throw new FormFireExceptions.FireFormListException("Instance Forms property is not initalized, Probably wrong call FormFireManager"); } if (InstanceForms.Any()) { throw new FormFireExceptions.CreateFormInstanceException("Main forms must be called on first for them FormFireManager"); } try { var fireForm = FireFormHelper <T> .Create <TU>(); fireForm.IsMain = true; InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } catch (Exception exception) { throw new FormFireExceptions.CreateFormInstanceException(exception.Message, exception); } }
private void FormFireManager_OnResize(object sender, EventArgs e) { var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.Form <T>().Equals(sender)); if (findedFireForm == null) { return; } if (((T)sender).WindowState == FormWindowState.Minimized) { findedFireForm.IsMinimized = true; findedFireForm.IsMaximized = false; } else if (((T)sender).WindowState != FormWindowState.Minimized) { findedFireForm.IsMaximized = false; findedFireForm.IsMinimized = false; } else if (((T)sender).WindowState == FormWindowState.Maximized) { findedFireForm.IsMinimized = false; findedFireForm.IsMaximized = false; } }
public TU CreateFormOnlyWithClosePrompt <TU>(object[] args, string promptMessage, string promptTitle) { if (InstanceForms == null) { throw new FormFireExceptions.FireFormListException("Instance Forms property is not initalized, Probably wrong call FormFireManager"); } if (args == null) { throw new ArgumentNullException(nameof(args)); } if (string.IsNullOrEmpty(promptMessage)) { throw new ArgumentNullException(nameof(promptTitle)); } if (string.IsNullOrEmpty(promptTitle)) { throw new ArgumentNullException(nameof(promptTitle)); } try { var fireForm = FireFormHelper <T> .Create <TU>(args); fireForm.IsHasPrompt = true; fireForm.PromptTitle = promptTitle; fireForm.PromptMessage = promptMessage; InstanceForms.Add(fireForm); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } catch (Exception exception) { throw new FormFireExceptions.CreateFormInstanceException(exception.Message, exception); } }
/// <summary> /// Will initialize the specificied form. Doesnt support for multiple instances, if you call this method for already /// pre opened form or hidden form, The method will reopen the pre form again. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized / finded form object</returns> public TU OpenSingleFormWithClosePrompt <TU>(object[] args, string promptMessage, string promptTitle) where TU : T, new() { if (args == null) { throw new ArgumentNullException(nameof(args)); } if (string.IsNullOrEmpty(promptMessage)) { throw new ArgumentNullException(nameof(promptTitle)); } if (string.IsNullOrEmpty(promptTitle)) { throw new ArgumentNullException(nameof(promptTitle)); } var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.GetType() == typeof(TU)); if (findedFireForm == null) { var fireForm = FireFormHelper <T> .Create <TU>(args); fireForm.IsHasPrompt = true; fireForm.PromptTitle = promptTitle; fireForm.PromptMessage = promptMessage; InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } findedFireForm.Show(); AttachFireFormEvents(findedFireForm); return(findedFireForm.Form <TU>()); }
private void FormFireManager_OnShown(object sender, EventArgs e) { var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.Equals(sender)); if (findedFireForm != null) { findedFireForm.IsShowed = false; } }
private void FormFireManager_OnFormClosing(object sender, FormClosingEventArgs e) { var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.Equals(sender)); if (findedFireForm == null || !findedFireForm.IsHasPrompt) { return; } if (MessageBox.Show(findedFireForm.PromptMessage, findedFireForm.PromptTitle, MessageBoxButtons.YesNo) != DialogResult.Yes) { e.Cancel = true; } }
private void FormFireManager_OnFormClosed(object sender, FormClosedEventArgs e) { var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.Equals(sender)); if (findedFireForm == null) { return; } findedFireForm.IsDisposed = true; if (findedFireForm.IsMain) { Application.Exit(); } }
/// <summary> /// Call the Close void of all filtered forms except the parameterizied form /// </summary> /// <typeparam name="TU">Filter forms by specificied type</typeparam> /// <returns>a boolean of any form is proccessed on this void</returns> public bool CloseForms <TU>(object exceptForm) where TU : T, new() { var findedForms = InstanceForms.Where(r => r.IsDisposed == false && r.MainForm.GetType() == typeof(TU) && !r.MainForm.Equals(exceptForm)).ToList(); if (!findedForms.Any()) { return(false); } findedForms.ForEach(r => { ((TU)r.MainForm).Close(); ((TU)r.MainForm).Dispose(); }); return(true); }
/// <summary> /// Will initialize the specificied form. Doesnt support for multiple instances, if you call this method for already /// pre opened form or hidden form, The method will reopen the pre form again. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized / finded form object</returns> public TU OpenSingleForm <TU>() where TU : T, new() { var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.GetType() == typeof(TU)); if (findedFireForm == null) { var fireForm = FireFormHelper <T> .Create <TU>(); InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } findedFireForm.Show(); AttachFireFormEvents(findedFireForm); return(findedFireForm.Form <TU>()); }
public TU CreateFormOnly <TU>() { if (InstanceForms == null) { throw new FormFireExceptions.FireFormListException("Instance Forms property is not initalized, Probably wrong call FormFireManager"); } try { var fireForm = FireFormHelper <T> .Create <TU>(); InstanceForms.Add(fireForm); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } catch (Exception exception) { throw new FormFireExceptions.CreateFormInstanceException(exception.Message, exception); } }
/// <summary> /// Will initialize the specificied form with parameters to ctor and show it. Doesnt support for multiple instances, if /// you call this method for already pre opened form or hidden form, The method will reopen the pre form again. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized / finded form object</returns> public TU OpenSingleForm <TU>(object[] args) where TU : T, new() { if (args == null) { throw new ArgumentNullException(nameof(args)); } var findedFireForm = InstanceForms.FirstOrDefault(r => r.IsDisposed == false && r.MainForm.GetType() == typeof(TU)); if (findedFireForm == null) { var fireForm = FireFormHelper <T> .Create <TU>(args); InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } findedFireForm.Show(); AttachFireFormEvents(findedFireForm); return(findedFireForm.Form <TU>()); }
/// <summary> /// This method must be first call on each form manager. When this form is closed, FormManager will capture and close /// the application. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized form object</returns> public TU OpenMainFormWithClosePrompt <TU>(string promptMessage, string promptTitle) where TU : T, new() { if (InstanceForms == null) { throw new FormFireExceptions.FireFormListException("Instance Forms property is not initalized, Probably wrong call FormFireManager"); } if (InstanceForms.Any()) { throw new FormFireExceptions.CreateFormInstanceException("Main forms must be called on first for them FormFireManager"); } if (string.IsNullOrEmpty(promptMessage)) { throw new ArgumentNullException(nameof(promptTitle)); } if (string.IsNullOrEmpty(promptTitle)) { throw new ArgumentNullException(nameof(promptTitle)); } try { var fireForm = FireFormHelper <T> .Create <TU>(); fireForm.IsMain = true; fireForm.IsHasPrompt = true; fireForm.PromptTitle = promptTitle; fireForm.PromptMessage = promptMessage; InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } catch (Exception exception) { throw new FormFireExceptions.CreateFormInstanceException(exception.Message, exception); } }
/// <summary> /// Will initialize the specificied form with parameters to ctor and show it. Supports for multiple instances at the /// same time. /// </summary> /// <exception cref="FormFireExceptions.CreateFormInstanceException"></exception> /// <exception cref="FormFireExceptions.ShowFormInstanceException"></exception> /// <exception cref="FormFireExceptions.FireFormEventException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <typeparam name="TU">Your specificied form derrived from System.Windows.Forms.Form class</typeparam> /// <returns>Returns initalized form object</returns> public TU OpenForm <TU>(object[] args) where TU : T, new() { if (InstanceForms == null) { throw new FormFireExceptions.FireFormListException("Instance Forms property is not initalized, Probably wrong call FormFireManager"); } if (args == null) { throw new ArgumentNullException(nameof(args)); } try { var fireForm = FireFormHelper <T> .Create <TU>(args); InstanceForms.Add(fireForm); fireForm.Show(); AttachFireFormEvents(fireForm); return(fireForm.Form <TU>()); } catch (Exception exception) { throw new FormFireExceptions.CreateFormInstanceException(exception.Message, exception); } }
/// <summary> /// Get all minimized forms by called Resize event and windowstate is maximized /// </summary> /// <typeparam name="TU">Filter forms by specificied type</typeparam> /// <returns>List of FireForm</returns> public List <FireForm <T> > GetMaximizedForms <TU>() { return(InstanceForms .Where(r => r.IsDisposed == false && r.MainForm.GetType() == typeof(TU) && r.IsMaximized) .Select(r => r).ToList()); }
/// <summary> /// Will return a list of initialized and not disposed forms at the manager type of TU /// </summary> /// <typeparam name="TU">Filter forms by specificied type</typeparam> /// <returns>List of FireForm</returns> public List <FireForm <T> > GetForms <TU>() { return(InstanceForms.Where(r => r.IsDisposed == false && r.MainForm.GetType().IsEquivalentTo(typeof(TU))).ToList()); }