tbf/TestBenchFramework/BenchControl/DataEntry/Munich/CycleBeginningForm.cs
Milan Hanajik c005a5cb26 Solves issue with an opened CycleBeginForm after abort and re-selection in Israel:
- CloseCycleBeginForm() -> WaitBeginFormClosed()
- CloseBeginForm() added to SequenceBase(forced dialog close)
- CloseModellFormHandler added to UiBridge.Bridge
2015-03-01 11:13:26 +01:00

93 lines
2.3 KiB
C#

using System;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
namespace TBF.BenchControl.DataEntry.Munich
{
public partial class CycleBeginningForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
// To be retrieved after the form closes
public string[] MainSNText;
public string[] AuxSNText;
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
public CycleBeginningForm()
{
InitializeComponent();
MainSNText = new string[Program.WMsCount / 2];
AuxSNText = new string[Program.WMsCount / 2];
completed = false;
StartForceCloseHandler();
if (Program.WMsCount / 2 < 2) Height = 200;
else if (Program.WMsCount / 2 < 3) Height = 355;
Localize();
}
void Localize()
{
Text = Strings.Data;
groupBox1.Text = Strings.Water_Meter + " 1";
mainSN1Label.Text = Strings.Main_WM_SerialNr;
auxSN1Label.Text = Strings.Aux_WM_SerialNr;
groupBox2.Text = Strings.Water_Meter + " 2";
mainSN2Label.Text = Strings.Main_WM_SerialNr;
auxSN2Label.Text = Strings.Aux_WM_SerialNr;
groupBox3.Text = Strings.Water_Meter + " 3";
mainSN3Label.Text = Strings.Main_WM_SerialNr;
auxSN3Label.Text = Strings.Aux_WM_SerialNr;
okButton.Text = Strings.OkBtnText;
}
private void okButton_Click(object sender, EventArgs e)
{
MainSNText[0] = mainSN1TextBox.Text;
AuxSNText[0] = auxSN1TextBox.Text;
if (Program.WMsCount / 2 >= 2)
{
MainSNText[1] = mainSN2TextBox.Text;
AuxSNText[1] = auxSN2TextBox.Text;
}
if (Program.WMsCount / 2 >= 3)
{
MainSNText[2] = mainSN3TextBox.Text;
AuxSNText[2] = auxSN3TextBox.Text;
}
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);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}