using System; using System.Windows.Forms; namespace DataStreamInterfaceTest { public partial class GetIntegerNumberDlg : Form { /// /// Integer number entered in this form /// public int Number; int lowerLimit; int upperLimit; /// /// Default constructor /// public GetIntegerNumberDlg() : this("Enter integer number please") { } /// /// Constructor with a custom window title. /// /// Window title public GetIntegerNumberDlg(string title) : this(title, Int32.MinValue, Int32.MaxValue) { } /// /// Constructor with a custom window title, limits and non-empty initial value. /// /// Window title /// Lower limit /// Upper limit /// Initial value public GetIntegerNumberDlg(string title, int lowerLimit, int upperLimit, int initialValue) : this(title, lowerLimit, upperLimit) { numberTextBox.Text = initialValue.ToString(); } /// /// Constructor with a custom window title and lower/upper limits. /// /// Window title /// Lower limit /// Upper limit public GetIntegerNumberDlg(string title, int lowerLimit, int upperLimit) { InitializeComponent(); this.Text = title; this.lowerLimit = lowerLimit; this.upperLimit = upperLimit; } /// /// OK button handler that verifies validity of the entered value. /// private void okButton_Click(object sender, EventArgs e) { int number; if (int.TryParse(numberTextBox.Text, out number) && number >= lowerLimit && number <= upperLimit) { Number = number; DialogResult = DialogResult.OK; } else { string message = (lowerLimit != Int32.MinValue || upperLimit != Int32.MaxValue) ? string.Format("Invalid integer number ({0}..{1})", lowerLimit, upperLimit) : "Invalid integer number"; MessageBox.Show(message); DialogResult = DialogResult.None; /// Prevent closing this window } } } }