У меня есть панель инструментов, в которую я отправляю и удаляю формы.
На боковых кнопках они отправляют форму на панель панели инструментов. После того, как пользователь завершит свою работу, они нажимают на другую кнопку, которая отправляет другую форму на панель инструментов. Как я могу вернуться к предыдущей форме, используя кнопку «Назад».
Предположим, (Сведения о сотруднике) Кнопка отправки формы на панель инструментов,
После выполненной работы пользователь нажимает (Все сотрудники) , и на панель приходит новая форма.
Теперь проблема в том, что у меня есть «Кнопка возврата» Так, как получить предыдущую форму (в данном случае «Сведения о сотруднике») на панели инструментов.
Я пытался использовать статическую форму в главной форме, но таким образом я могу вернуться только на одну стадию.
Например:
(Данные сотрудника)
(Все сотрудники)
Но что, если в строке есть несколько форм
(анкета сотрудника)
(Форма для всех сотрудников)
(Удалить форму сотрудника)
(Etc)
Пространство имен Агентства. Формы
{
public partial class MainMenuForm : Form
{
public static Form StaticForm;
private void UpdateDashBoardForm(Form myform) //use to get form and add to panel
{
if (myform == null)
{
return;
}
ClearDashBoard();
myform.TopLevel = false;
DashBaordPanel.Controls.Add(myform);
myform.Dock = DockStyle.Fill;
myform.Show();
}
private void ClearDashBoard()
{
foreach (Form item in DashBaordPanel.Controls)
{
if (!item.Equals(StaticForm))
{
item.Dispose();
}
else
{
item.Visible = false;
}
}
}
}
i Ожидайте, что кнопка «Назад» должна получить все формы, которые ранее были добавлены на приборную панель. Подобные формы должны храниться в стеке, а после нажатия кнопки «Назад» должна быть получена самая верхняя форма из стека и извлечена из стека. ![enter image description here](https://i.stack.imgur.com/BBYGj.png)
Помощь:
Мне нужно 2 функции
1) добавит форму в статический список. void addForm(Form obj);
2) Вернет самую последнюю форму из списка и удалит ее из списка Form getForm();