///<summary>Disposes forms if they exist and have yet to be disposed.</summary> public void DisposeForms() { if (_formHelpUI != null && !_formHelpUI.IsDisposed) { _formHelpUI.Dispose(); _formHelpUI = null; } if (_formHelpEvents != null) { _formHelpEvents.Dispose(); _formHelpEvents = null; } }
public FormHelpWrapper(string osEdition, Size buttonSize) { _formHelpUI = new FormHelpUI(osEdition); // { Size=buttonSize }; _formHelpEvents = new FormHelpEvents(); // { Size=buttonSize }; _formHelpUI.FormClosed += (o1, e1) => { _formHelpUI = null; }; _formHelpEvents.FormClosed += (o1, e1) => { _formHelpEvents = null; }; //For some reason _formHelpEvents resizes after Show() is called. This keeps it synched with _formHelpUI's size. _formHelpEvents.Shown += (o1, e1) => { //_formHelpEvents.Size=_formHelpUI.Size; _formHelpEvents.Size = buttonSize; _formHelpUI.Size = buttonSize; }; _formHelpUI.Load += (o1, e1) => { LoadHelpUI?.Invoke(this, new EventArgs()); }; _formHelpEvents.MouseClick += (o1, e1) => { if (e1.Button == MouseButtons.Right) { RightClickHelp?.Invoke(this, new EventArgs()); } else { ClickHelp?.Invoke(this, new EventArgs()); } }; _formHelpEvents.MouseUp += (o1, e1) => { MouseUpHelp?.Invoke(this, new EventArgs()); }; //MouseDown and MouseMove need to be MouseEventArgs so we can utilize mouse functionality (location, button pressed etc.) _formHelpEvents.MouseDown += (o1, e1) => { MouseDownHelp?.Invoke(this, new MouseEventArgs(e1.Button, e1.Clicks, e1.X, e1.Y, e1.Delta)); }; _formHelpEvents.MouseMove += (o1, e1) => { MouseMoveHelp?.Invoke(this, new MouseEventArgs(e1.Button, e1.Clicks, e1.X, e1.Y, e1.Delta)); }; }