none
Как создать свой Form1? RRS feed

  • Вопрос

  • Как создать свой Form1?

    В моей программе пользователь должен будет открыть новую форму, установить настройки и потом закрыть окно.

    11 сентября 2012 г. 11:41

Ответы

  • Ты в конструкторе Form1 создаешь еще одну Form1 в конструкторе которой создается еще одна Form1 и тд... Рекурсивно забиваешь стек, о чем тебе и сообщается.
    В конструкторе достаточно

            public Form1()
            {
                InitializeComponent();
            }


    Приведенный выше в обсуждении пример показывает как создавать другую форму из формы.
    Если окно, в котором пользователь должен установить настройки а потом закрыть всего одно (на всю программу) то эта форма запускается из метода Main в файле program.cs.
    Если Форма с настройками должна открываться по нажатию кнопки, то создайте в проекте еще одну форму и приведенный выше

    Form2 f = new Form2();
    f.ShowDialog();

    код вставьте в обработчик нажатия на эту кнопку.

    Чтобы добавить еще одну форму в проект, откройте SolutionExplorer'е проект, щелкните правой кнопкой на него, выберите добавить а потом WindowsForm. Выглядит примерно так:

    • Помечено в качестве ответа Ziya Ceferov 13 сентября 2012 г. 6:52
    13 сентября 2012 г. 4:39
    Модератор

Все ответы

  • Создать экземеляр формы и показать ее:

    Form1 f = new Form1();
    f.Show();


    Для связи [mail]

    12 сентября 2012 г. 14:15
  • Ну раз чего-то там вводить, то можно даже диалогом сделать (ShowDialog() вместо Show()), и по проверке результата что вернёт этот метод уже принимать или не принимать то чего ввели.
    Кнопке "Применить" (ну или "ОК", как иногда пишут) установить свойство DialogResult, на отмену ещё чего-то ну и тд.
    • Изменено INFEL8 12 сентября 2012 г. 16:39
    12 сентября 2012 г. 16:38
  • Создать экземеляр формы и показать ее:

    Выдаёт ошибку:

            public Form1()
            {
                InitializeComponent();
                Form1 MyForm1 = new Form1();
                MyForm1.Show();
            }

    • Изменено Ziya Ceferov 12 сентября 2012 г. 17:33
    12 сентября 2012 г. 17:31
  • Ты в конструкторе Form1 создаешь еще одну Form1 в конструкторе которой создается еще одна Form1 и тд... Рекурсивно забиваешь стек, о чем тебе и сообщается.
    В конструкторе достаточно

            public Form1()
            {
                InitializeComponent();
            }


    Приведенный выше в обсуждении пример показывает как создавать другую форму из формы.
    Если окно, в котором пользователь должен установить настройки а потом закрыть всего одно (на всю программу) то эта форма запускается из метода Main в файле program.cs.
    Если Форма с настройками должна открываться по нажатию кнопки, то создайте в проекте еще одну форму и приведенный выше

    Form2 f = new Form2();
    f.ShowDialog();

    код вставьте в обработчик нажатия на эту кнопку.

    Чтобы добавить еще одну форму в проект, откройте SolutionExplorer'е проект, щелкните правой кнопкой на него, выберите добавить а потом WindowsForm. Выглядит примерно так:

    • Помечено в качестве ответа Ziya Ceferov 13 сентября 2012 г. 6:52
    13 сентября 2012 г. 4:39
    Модератор