Я использую базовую форму, в которой есть меню, чтобы мне не пришлось заново выполнять код для всего приложения.
По сути, эта форма называется StudentBase.cs
Затем у меня есть другая форма, называемая StudentProfile, которая наследуется от StudentBase
public partial class StudentProfile : StudentBase
{
public string selectedPage;
}
Затем она наследует меню, которое находится в StudentBase, и мне не нужно заново делать меню.
В меню есть кнопки для отдельных форм.
Итак, скажем, я нажимаю на профиль студента. Я использую это для навигации:
private void btnProfile_Click(object sender, EventArgs e)
{
//I don't want the page to reload if it is the current page
if (selectedPage != "Profile")
{
StudentProfile profile = new StudentProfile();
profile.Show();
this.Hide();
}
}
Это дает очень запоздалый результат, а также выглядит очень глючно
Я переопределяю selectedPage в дочерних формах, поэтому в случае StudentProfile я использую:
private void StudentProfile_Load(object sender, EventArgs e)
{
selectedPage = "Profile";
}
Я проверил это на коде моего друга, и его навигация работает без задержек или сбоев.Он не делал наследство в форме