Heat meters : Prompt message does not stop the sequence, disappears when conditions met, ver. 2.10.359

This commit is contained in:
Milan Hanajik
2016-10-10 14:23:20 +02:00
parent 3c15dbab9e
commit f8331c1c1c
8 changed files with 119 additions and 82 deletions
@@ -7,14 +7,19 @@ using TBF.Resources;
namespace TBF.BenchControl.Operations
{
public partial class MessageBoxForm : Form
public partial class MessageBoxForm : Form, GenericDevices.IHasCompleted
{
public string Message;
public bool CompletedOK;
/// Is set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
public MessageBoxForm()
{
InitializeComponent();
completed = false;
StartForceCloseHandler();
}
private void MessageBoxForm_Load(object sender, EventArgs e)
@@ -26,8 +31,27 @@ namespace TBF.BenchControl.Operations
private void okButton_Click(object sender, EventArgs e)
{
CompletedOK = true;
completed = true;
Close();
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
private void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}