/* SSATool - A collection of utilities for Advanced Substation Alpha Copyright (C) 2007 Dan Donovan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; ONLY under version 2 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ using System; using System.ComponentModel; using System.Windows.Forms; namespace SSATool { /// /// Summary description for InputBox. /// public class InputBox : System.Windows.Forms.Form { #region Windows Contols and Constructor private System.Windows.Forms.Label lblPrompt; private System.Windows.Forms.Button btnOK; private System.Windows.Forms.Button button1; private System.Windows.Forms.TextBox txtInput; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public InputBox() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } #endregion #region Dispose /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #endregion #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.lblPrompt = new System.Windows.Forms.Label(); this.btnOK = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button(); this.txtInput = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // lblPrompt // this.lblPrompt.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.lblPrompt.BackColor = System.Drawing.SystemColors.Control; this.lblPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.lblPrompt.Location = new System.Drawing.Point(12, 9); this.lblPrompt.Name = "lblPrompt"; this.lblPrompt.Size = new System.Drawing.Size(302, 82); this.lblPrompt.TabIndex = 3; // // btnOK // this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.btnOK.Location = new System.Drawing.Point(326, 24); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(64, 24); this.btnOK.TabIndex = 1; this.btnOK.Text = "&OK"; // // button1 // this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.button1.Location = new System.Drawing.Point(326, 56); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(64, 24); this.button1.TabIndex = 2; this.button1.Text = "&Cancel"; // // txtInput // this.txtInput.ImeMode = System.Windows.Forms.ImeMode.Off; this.txtInput.Location = new System.Drawing.Point(8, 100); this.txtInput.Name = "txtInput"; this.txtInput.Size = new System.Drawing.Size(379, 20); this.txtInput.TabIndex = 0; this.txtInput.Text = ""; this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress); // // InputBox // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(398, 128); this.Controls.Add(this.txtInput); this.Controls.Add(this.button1); this.Controls.Add(this.btnOK); this.Controls.Add(this.lblPrompt); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.ImeMode = System.Windows.Forms.ImeMode.Off; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "InputBox"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "InputBox"; this.ResumeLayout(false); } #endregion #region Private Variables string formCaption = string.Empty; string formPrompt = string.Empty; string inputResponse = string.Empty; string defaultValue = string.Empty; #endregion #region Public Properties public string FormCaption { get{return formCaption;} set{formCaption = value;} } // property FormCaption public string FormPrompt { get{return formPrompt;} set{formPrompt = value;} } // property FormPrompt public string InputResponse { get{return inputResponse;} set{inputResponse = value;} } // property InputResponse public string DefaultValue { get{return defaultValue;} set{defaultValue = value;} } // property DefaultValue #endregion #region Form and Control Events public static InputBoxResult Show(string prompt, string title, string defaultResponse, int xpos, int ypos) { using (InputBox form = new InputBox()) { form.lblPrompt.Text = prompt; form.Text = title; form.txtInput.Text = defaultResponse; if (xpos >= 0 && ypos >= 0) { form.StartPosition = FormStartPosition.Manual; form.Left = xpos; form.Top = ypos; } DialogResult result = form.ShowDialog(); InputBoxResult retval = new InputBoxResult(); if (result == DialogResult.OK) { retval.Text = form.txtInput.Text; retval.OK = true; } return retval; } } private void txtInput_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if ((e.KeyChar == '\r') || (e.KeyChar == '\n')) { btnOK.PerformClick(); e.Handled = true; } else if (e.KeyChar == 27) { //escape key button1.PerformClick(); e.Handled = true; } } public static InputBoxResult Show(string prompt, string title, string defaultText) { return Show(prompt, title, defaultText, -1, -1); } } #endregion public class InputBoxResult { public bool OK; public string Text; } }