У меня есть Form1 и Form2 в моем проекте. Form2 - это просто форма с настройками для Form1. Что такое команда, чтобы открыть Form2 из Form1, а также команду для ее закрытия?
Как открыть вторую форму?
Ответ 1
Вам нужно обработать событие в Form1, которое возникает в результате взаимодействия с пользователем. Например, если у вас есть кнопка "Настройки", которую пользователь нажимает, чтобы отобразить форму настроек (Form2), вы должны обработать событие Click
для этой кнопки:
private void settingsButton_Click(Object sender, EventArgs e)
{
// Create a new instance of the Form2 class
Form2 settingsForm = new Form2();
// Show the settings form
settingsForm.Show();
}
В дополнение к методу Show
вы также можете использовать ShowDialog
. Разница в том, что последний показывает форму как модальный диалог, что означает, что пользователь не может взаимодействовать с другими формами в вашем приложении, пока они не закрывают модальную форму. Это то же самое, что и окно сообщения. Метод ShowDialog
также возвращает значение, указывающее, как форма была закрыта.
Когда пользователь закрывает форму настроек (например, нажав "X" в строке заголовка), Windows автоматически позаботится о ее закрытии.
Если вы хотите закрыть его самостоятельно, прежде чем пользователь попросит его закрыть, вы можете вызвать форму Close
method:
this.Close();
Ответ 2
//To open the form
Form2 form2 = new Form2();
form2.Show();
// And to close
form2.Close();
Надеюсь, что это поможет
Ответ 3
Если вы хотите открыть Form2
modally (это означает, что вы не можете нажать Form1, пока Form2 открыт), вы можете сделать это:
using (Form2 f2 = new Form2())
{
f2.ShowDialog(this);
}
Если вы хотите открыть Form2 немодуально (это означает, что вы все равно можете нажать Form1, пока Form2 открыт), вы можете создать ссылку на уровне формы для Form2 следующим образом:
private Form2 _f2;
public void openForm2()
{
_f2 = new Form2();
_f2.Show(this); // the "this" is important, as this will keep Form2 open above
// Form1.
}
public void closeForm2()
{
_f2.Close();
_f2.Dispose();
}
Ответ 4
Я предполагаю, что вы говорите о формах окон:
Чтобы отобразить форму, используйте метод Show():
Form form2 = new Form();
form2.Show();
чтобы закрыть форму, используйте Close():
form2.Close();
Ответ 5
В одной строке это будет:
(new Form2()).Show();
Надеюсь, что это поможет.
Ответ 6
В любом событии клика (или другом):
Form2 frm2 = new Form2();
frm2.Show();
Ответ 7
Соответственно Form.Show() (или Form.ShowDialog(), если вы хотите, чтобы вторая форма была модальной), и Form.Hide() (или Form.Close(), в зависимости от того, что вы подразумеваете под close it
).
Ответ 8
Если вам нужно показать Form2
как модальное диалоговое окно, из Form1
выполните:
var form2 = new Form2();
if (form2.ShowDialog() == DialogResult.OK)
{
// process results here
}
Модальный диалог сохранит фокус, пока он открыт; он установит родительские окна (Form1
) "в фоновом режиме" до тех пор, пока он не будет закрыт, что является довольно распространенной практикой для окон настроек.
Ответ 9
Начните с этого:
var dlg = new Form2();
dlg.ShowDialog();
Ответ 10
Form1 OpenNewForm = new Form1();
OpenNewForm.Show();
"OpenNewForm" - это название формы. Во втором открывается форма.
Если вы хотите закрыть предыдущую форму:
this.Close();