С# перемещаться по формам

70
5

Можно ли изменить страницу в окнах форм Visual Studio, если пользователь не заметил изменения страницы?

Я пробовал менять формы с помощью этого кода:

Form2 form2 = new Form2();
form2.Show();
this.Hide();

Но экран мигает!

спросил(а) 2020-04-04T00:30:07+03:00 6 месяцев, 2 недели назад
1
Решение
58

Формы - это не страницы. Если вы хотите отображать различное содержимое в виде страниц, то вам, вероятно, будет лучше создавать ваши "страницы" в качестве UserControls. Вы создаете их так же, как Forms. Затем поместите одну из них в форму с свойством Dock установленным в Fill. Если вы хотите отобразить другую страницу, замените элемент управления пользователя на другой.

Изменение страницы:

Control page = null;
switch (pageNumber) {
case 1:
page = new UserControl1();
break;
case 2:
page = new UserControl2();
break;
}
page.Dock = DockStyle.Fill;
if (previousPage != null) {
frm.Controls.Remove(previousPage);
}
frm.Controls.Add(page);
previousPage = page;

Вы должны определить это в форме:

private Control previousPage;
private int pageNumber = 1;

Также где-то вам нужно будет определить следующий номер страницы.

ответил(а) 2020-04-04T00:44:59.548457+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема