using System; using System.Drawing; using System.Windows.Forms; using TBF.Resources; namespace TBF.Forms { public partial class EmergencyStopForm : Form { public static bool ClosingForm = false; /// /// Parameterless constructor (does the localization) /// public EmergencyStopForm() { Visible = false; InitializeComponent(); emergencyStopMsgLabel.Text = Strings.Emergency_STOP; emergencyStopMsgLabel.Enabled = false; emergencyStopMsgLabel.Visible = false; UiBridge.Bridge.EmergencyStopChangedHandler += delegate(object sender, UiBridge.EmergencyStopEventArgs args) { if (ClosingForm) return; if (InvokeRequired) { Invoke(new EventHandler(OnEmergencyStopStateChanged), sender, args); } else OnEmergencyStopStateChanged(sender, args); }; } void OnEmergencyStopStateChanged(Object sender, UiBridge.EmergencyStopEventArgs args) { if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.Active) { Visible = true; emergencyStopMsgLabel.Enabled = true; emergencyStopMsgLabel.Visible = true; } else if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.Inactive) { Visible = false; emergencyStopMsgLabel.Enabled = false; emergencyStopMsgLabel.Visible = false; } else if (args.EmergencyStopState == UiBridge.EmergencyStopEventArgs.State.CloseForm) { ClosingForm = true; Close(); } } } }