OSDN Git Service

構成変更のためファイルを置き直し。
[kybernetes/Kybernetes.git] / base / view / InputBox.cs
diff --git a/base/view/InputBox.cs b/base/view/InputBox.cs
new file mode 100644 (file)
index 0000000..f413628
--- /dev/null
@@ -0,0 +1,77 @@
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace com.andoutomo.kybernetes.view\r
+{\r
+    public partial class InputBox : Form\r
+    {\r
+        public InputBox()\r
+        {\r
+            InitializeComponent();\r
+        }\r
+\r
+        public InputBox(string prompt)\r
+            : this()\r
+        {\r
+            this.lblPrompt.Text = prompt;\r
+        }\r
+        public InputBox(string prompt, string defaultData)\r
+            :this(prompt)\r
+        {\r
+            this.txtDialogInput.Text = defaultData;\r
+        }\r
+\r
+\r
+        private void btnOK_Click(object sender, EventArgs e)\r
+        {\r
+            turnCollect();\r
+        }\r
+\r
+        private void turnCollect()\r
+        {\r
+            this.DialogResult = DialogResult.OK;\r
+            ((BaseForm)Owner).InputDialogData = txtDialogInput.Text;\r
+            this.Close();\r
+        }\r
+\r
+        private void turnCancel()\r
+        {\r
+            this.DialogResult = DialogResult.Cancel;\r
+            ((BaseForm)Owner).InputDialogData = string.Empty;\r
+            this.Close();\r
+        }\r
+\r
+        private void btnCancel_Click(object sender, EventArgs e)\r
+        {\r
+            turnCancel();\r
+        }\r
+\r
+        private void textBox_KeyDown(object sender, KeyEventArgs e)\r
+        {\r
+            switch (e.KeyCode)\r
+            {\r
+                case Keys.Enter:\r
+                    turnCollect();\r
+                    break;\r
+\r
+                case Keys.Space:\r
+                    if (e.Control)\r
+                    {\r
+                        e.SuppressKeyPress = true;\r
+                        if (txtDialogInput.ImeMode == ImeMode.Off)\r
+                        {\r
+                            txtDialogInput.ImeMode = ImeMode.On;\r
+                        }\r
+                        else\r
+                        {\r
+                            txtDialogInput.ImeMode = ImeMode.Off;\r
+                        }\r
+                    }\r
+                    break;\r
+                case Keys.Escape:\r
+                    turnCancel();\r
+                    break;\r
+            }\r
+        }\r
+    }\r
+}\r