парни, как в си шарп сделать так чтобы когда на первой форме когда нажал кнопку, открылась вторая форма, а первая закрылась?
добавляешь вторую форму. Потом прописываешь кнопке Click-евент, в нём показывает вторую форму( Form2.ShowDialog() ) и закрывай вторую Form1.Hide() (или Dismiss, не помню точно).
Во-первых, главную форму закрывать нельзя, поскольку это эквивалентно закрытию приложения. Во-вторых, необходимость закрытия главной формы и открытия другой формы свидетельствует о неправильном дизайне приложения в целом.
Ну почему же. Я видел не мало MDI проектов, в которых главное окно являлось неким бэкграундом. И его закрыть действительно можно было, но после этого оставалась панель WindowToolsPanel. Которая являлось собственным элементом управления. 2ой случай более интересный и он продемонстрирован в браузере GoogleChrome, где можно перенести вкладку на свободное пространство. При этом откроется новое окно, а прошлое можно закрыть. Дизайн сделан на твердую 5чку у них) И тут естественно используется их же элемент управления. В этих и некоторых других случаях это показывает не неправильный дизайн, а профессиональное управление потоками приложения. Ведь все мы знакомы с ситуацией, когда мы открываем окно настроек приложения и переключится обратно к приложению мы не можем пока не закроем окно настроек. Не задумывались почему? 3ий случай довольно тоже интересный. Программа установки SQL Server 2008 открывает сначала консоль, выполняет некоторые операции и открывает окно настроек установки, далее (во время установки) открывается новое окно, с ProgressBar'ом и statuslabel'ом состояния установки. Прошло как вы говорите главное окно, можно при этом закрыть. При этом дизайн сделать просто отлично. В случае с ТС, советую создать иконку. И скрывать "главное окно". При выборе соответствующей опции - открыть.