Задать вопрос
@TechNOIR

C#. Как внедрить диалоговое окно в консольное приложение?

Добрый день!
Подскажите пожалуйста как внедрить диалоговое окно в консольное приложение?

У меня пока вот что получилось:
static void Main(string[] args)
        {
            Size resolution = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size;
            Console.WriteLine(resolution);

            if (resolution.Height == 1080 && resolution.Width == 1920)
            {
                Console.WriteLine("Yes");
                Form frmAbout = new Form();
                Button button1 = new Button();
                Button button2 = new Button();
                button1.Text = "Продолжить";
                button2.Text = "Завершить программу";
                frmAbout.Controls.Add(button1);
                frmAbout.ShowDialog();
            }


            Console.WriteLine("Я сработал");

        }
        private void button1_Click(object sender, System.EventArgs e)
        {
            Тут надо закрыть форму и продолжить выполнение программы
        }
        private void button2_Click(object sender, System.EventArgs e)
        {
            А тут надо завершить выполнение программы
        }
    }


Как правильно сделать? Форму из button1_click не получается закрыть.. В обоих кнопках подписать что должна выполнять эта примитивная программка.
Спасибо заранее за помощь

P.S. Нужна именно форма с двумя кнопками, а не DialogBox
  • Вопрос задан
  • 707 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Slav2
Скорее всего надо переопределить форму и добавить делегат и функцию закрывающую форму.
delegate void CloseFormCallback();

        private void CloseForm()
        {
            try
            {
                if (this.IsDisposed || this.Disposing) return;

                CloseFormCallback d = CloseForm;

                if (this.InvokeRequired)
                {
                    Invoke(d);
                }
                else
                {
                       this.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы