Mercurial > servermonitor
view ServerMonitor/Forms/QuickHelpForm.cs @ 23:3866c19535fd
Fix NullReferenceException when checks are executed on a brand new server.
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Thu, 30 May 2019 21:40:27 -0400 |
parents | 2db36ab759de |
children |
line wrap: on
line source
using System; using System.Drawing; using System.Windows.Forms; namespace ServerMonitorApp { /// <summary>Form for showing help text in a floating popup.</summary> public partial class QuickHelpForm : Form { private string Rtf; public QuickHelpForm() { InitializeComponent(); } /// <summary>Creates a help popup form with the provided text.</summary> /// <param name="rtf">Text to show in the popup in RTF format.</param> public QuickHelpForm(string rtf) { InitializeComponent(); Rtf = rtf; } private void QuickHelpForm_Load(object sender, EventArgs e) { // Subscribe to the owner's notifications that the location of // the Help button that triggered this popup has changed. (Owner as CheckForm).HelpLocationChanged += Owner_HelpLocationChanged; // Subscribe to this event before setting the text box's text // so we can resize the form to match the text size. HelpTextBox.ContentsResized += HelpTextBox_ContentsResized; HelpTextBox.Rtf = Rtf; } /// <summary>Resizes the popup form to fit the displayed text.</summary> private void HelpTextBox_ContentsResized(object sender, ContentsResizedEventArgs e) { Height = e.NewRectangle.Height + 12; } /// <summary>Moves the popup form to always appear near the Help button that triggered it.</summary> private void Owner_HelpLocationChanged(object sender, HelpLocationChangedEventArgs e) { Point location = e.HelpLocation; location.Offset(24, 0); Location = location; } // Hides the popup form when ESC is pressed. private void Control_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) Close(); } // Hides the popup form when it is clicked. private void Control_Click(object sender, EventArgs e) { Close(); } } }