Получить несколько возвратов из одной строковой функции - PullRequest
0 голосов
/ 15 декабря 2018

На основе диалогового окна / users / 668272 / bas.Я попытался написать больше, чтобы получить несколько значений

public static class ControlInfo
        {
            public static TextBox[] TextData { get; set; }
        }

        public static class Prompt
        {
            public static Form prompt = new Form();
            public static void ShowDialog(string Text, string caption)
            {
                //string[] inputval = new string[6];
                prompt = new Form()
                {
                    Width = 500,
                    Height = 650,
                    FormBorderStyle = FormBorderStyle.FixedDialog,
                    Text = caption,
                    StartPosition = FormStartPosition.CenterScreen
                };
                #region:create
                Label textLabel = new Label() { Left = 20, Top = 20, Text = Text };
                TextBox textBox1 = new TextBox() { Left = 50, Top = 100, Width = 400 };
                Button confirmationok = new Button()
                { Text = "Save", Left = 250, Width = 100, Top = 550, DialogResult = DialogResult.OK };
                Button confirmationcancel = new Button()
                { Text = "Cancel", Left = 350, Width = 100, Top = 550, DialogResult = DialogResult.Cancel };
                confirmationok.Click += (sender, e) => { Save(); };
                confirmationcancel.Click += (sender, e) => { prompt.Close(); };

                prompt.Controls.Add(confirmationcancel);
                prompt.Controls.Add(textBox1);
                prompt.Controls.Add(textBox2);
                prompt.Controls.Add(textBox3);
                prompt.Controls.Add(textBox4);
                prompt.Controls.Add(textBox5);
                prompt.Controls.Add(textBox6);
                prompt.Controls.Add(confirmationok);
                prompt.Controls.Add(textLabel);
                prompt.Controls.Add(textLabel1);
                prompt.Controls.Add(textLabel2);
                prompt.Controls.Add(textLabel3);
                prompt.Controls.Add(textLabel4);
                prompt.Controls.Add(textLabel5);
                prompt.Controls.Add(textLabel6);
                prompt.AcceptButton = confirmationok;
                prompt.AcceptButton = confirmationcancel;
                prompt.ShowDialog();
            }

            public static void Save()
            {
                var cArray = prompt.Controls.OfType<TextBox>().ToArray();
                ControlInfo.TextData = cArray;
            }
        }

[Обновить] Я попытался использовать строку [], чтобы получить значения, но это продолжается: return inputval; 'Индекс находился за пределами массива«.Так как же правильно вернуть значения в массив string []?

[Обновление 2] Исправлена ​​проблема, создавая TextData [] для хранения значений, затем вызывая его следующим образом ControlInfo.TextData[0].Text

1 Ответ

0 голосов
/ 23 декабря 2018

Я использовал класс Textdata для сохранения значений из диалогового окна с помощью кнопки SAVE.Законченный код находится в вопросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...