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;
}