コード例 #1
0
        public static DialogResult InputBox(string title, string promptText, ref string value)
        {
            MetroForm form = new MetroForm();

            MetroLabel   label        = new MetroLabel();
            MetroTextBox textBox      = new MetroTextBox();
            MetroButton  buttonOk     = new MetroButton();
            MetroButton  buttonCancel = new MetroButton();

            //form.Text = title;
            label.Text   = promptText;
            textBox.Text = value;

            buttonOk.Text             = "OK";
            buttonCancel.Text         = "Cancel";
            buttonOk.DialogResult     = DialogResult.OK;
            buttonCancel.DialogResult = DialogResult.Cancel;

            label.SetBounds(9, 10, 372, 13);
            textBox.SetBounds(12, 36, 372, 20);
            buttonOk.SetBounds(228, 72, 75, 23);
            buttonCancel.SetBounds(309, 72, 75, 23);

            label.AutoSize      = true;
            textBox.Anchor      = textBox.Anchor | AnchorStyles.Right;
            buttonOk.Anchor     = AnchorStyles.Bottom | AnchorStyles.Right;
            buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

            form.ClientSize = new Size(396, 107);
            form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });

            form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);

            //form.FormBorderStyle = FormBorderStyle.FixedDialog;
            form.StartPosition = FormStartPosition.CenterScreen;

            form.MinimizeBox  = false;
            form.MaximizeBox  = false;
            form.AcceptButton = buttonOk;
            form.CancelButton = buttonCancel;

            DialogResult dialogResult = form.ShowDialog();

            value = textBox.Text;

            return(dialogResult);
        }