C# で InputBox (2)
id:NyaRuRu にオブジェクト初期化子を教えてもらったので書き換え. form は SuspendLayout が邪魔して使えないのが残念!
public static string InputBox(string Prompt, string Title, string DefaultResponse) { var form = new Form(); form.SuspendLayout(); var textBox = new TextBox() { Location = new Point(12, 84), Size = new Size(329, 19), Text = DefaultResponse }; var okButton = new Button() { DialogResult = DialogResult.OK, Location = new Point(266, 9), Size = new Size(75, 23), Text = "OK", UseVisualStyleBackColor = true }; var cancelButton = new Button() { DialogResult = DialogResult.Cancel, Location = new Point(266, 38), Size = new Size(75, 23), Text = "キャンセル", UseVisualStyleBackColor = true }; var label = new Label() { AutoSize = true, Location = new Point(12, 9), Size = new Size(0, 12), Text = Prompt }; form.AcceptButton = okButton; form.CancelButton = cancelButton; form.AutoScaleDimensions = new SizeF(6F, 12F); form.AutoScaleMode = AutoScaleMode.Font; form.ClientSize = new Size(353, 120); form.ControlBox = false; form.FormBorderStyle = FormBorderStyle.FixedDialog; form.ShowInTaskbar = false; form.StartPosition = FormStartPosition.CenterParent; form.Text = Title; form.Controls.AddRange(new Control[] { textBox, okButton, cancelButton, label }); form.ResumeLayout(false); form.PerformLayout(); if (form.ShowDialog() == DialogResult.OK) return textBox.Text; else return null; }